CTE(WITH)を使用してpostgresqlに複数の行を挿入する方法

itaied

IDの配列(postsを受け取り、
それらすべてを別のテーブル(offer)に挿入する関数を作成しようとしています後でさらに処理するために
、新しく作成された行(offersのIDが必要です。

使用してエラーが発生します WITH

create function foo (post_ids text[])
returns text[]
as $$
  with
  offer_ids as (insert into app.offer (user_email, post_id)
                  values ('[email protected]', unnest(foo.post_ids))
                  returning id),
  ...
  select array_agg(id) from offer_ids;
$$ language sql security definer;

エラー

ERROR:  more than one row returned by a subquery used as an expression

から複数の行を返しWITH、後で使用するにはどうすればよいですか?

無名の馬

エラーはCTEの部分ではなく、INSERTの部分にあると思います。unnestSELECTステートメントの一部として使用する必要があるなどの戻り関数を設定します。

with offer_ids as (
     insert into app.offer (user_email, post_id)
     select '[email protected]', f.pid
     from unnest(foo.post_ids) as f(pid)
     returning id
),
...
select array_agg(id) 
from offer_ids;

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PostgreSQLの関数を使用して複数の行を挿入する方法

分類Dev

PQputCopyDataを使用して複数の行を挿入する方法

分類Dev

PHPPDOを使用してMySQLに複数の行を持つ複数の配列を挿入する方法

分類Dev

PHPを使用して1000行以上をPostgresqlに挿入する方法

分類Dev

Avroを使用してBigQueryに複数の列を持つ行を挿入する

分類Dev

JdbcTemplateを使用して複数の行を挿入する

分類Dev

PostgresでCTEを使用して外部キーで複数の行を挿入するにはどうすればよいですか?

分類Dev

Java:PreparedStatementを使用してMySQLに複数の行を挿入する

分類Dev

phpを使用して複数の行にフォーム値を挿入する

分類Dev

サブクエリを使用してMySQLに複数の行を挿入する

分類Dev

トリガーを使用して SQlite に複数の行を挿入する

分類Dev

結合を使用してテーブルに複数の行を挿入する

分類Dev

c#を使用してmysqlに複数の行を挿入する最良の方法は?

分類Dev

PHPを使用してデータベースのjson配列に複数の行を挿入する方法

分類Dev

jQueryを使用して複数のHTML要素を挿入する方法

分類Dev

Railsを使用して複数行の文字列をcoffeescript / jquery値に挿入する方法

分類Dev

laravelを使用して複数の配列をmysqlに挿入する方法

分類Dev

プリペアドステートメントを使用して空白行を挿入せずにMySQLに複数の行を挿入する方法

分類Dev

複数のforeachを使用してMYSQLに正しく挿入する方法

分類Dev

複数の行を挿入する方法

分類Dev

phpを使用して複数のデータ行の挿入を実行する

分類Dev

foreachを使用して複数の挿入と削除を行う方法

分類Dev

入力を使用して配列値から複数の行を挿入する方法

分類Dev

selectステートメントを使用して挿入を実行し、HQLを使用して複数の行に配置する方法

分類Dev

PHPPDOを使用して複数の行を挿入します

分類Dev

executeを使用して複数の行を挿入します

分類Dev

単一の実行を使用してテーブルへの複数の挿入を処理する方法

分類Dev

変数PL / SQLに複数の行を挿入する方法

分類Dev

Pythonを使用してPostgresqlに行を挿入する

Related 関連記事

  1. 1

    PostgreSQLの関数を使用して複数の行を挿入する方法

  2. 2

    PQputCopyDataを使用して複数の行を挿入する方法

  3. 3

    PHPPDOを使用してMySQLに複数の行を持つ複数の配列を挿入する方法

  4. 4

    PHPを使用して1000行以上をPostgresqlに挿入する方法

  5. 5

    Avroを使用してBigQueryに複数の列を持つ行を挿入する

  6. 6

    JdbcTemplateを使用して複数の行を挿入する

  7. 7

    PostgresでCTEを使用して外部キーで複数の行を挿入するにはどうすればよいですか?

  8. 8

    Java:PreparedStatementを使用してMySQLに複数の行を挿入する

  9. 9

    phpを使用して複数の行にフォーム値を挿入する

  10. 10

    サブクエリを使用してMySQLに複数の行を挿入する

  11. 11

    トリガーを使用して SQlite に複数の行を挿入する

  12. 12

    結合を使用してテーブルに複数の行を挿入する

  13. 13

    c#を使用してmysqlに複数の行を挿入する最良の方法は?

  14. 14

    PHPを使用してデータベースのjson配列に複数の行を挿入する方法

  15. 15

    jQueryを使用して複数のHTML要素を挿入する方法

  16. 16

    Railsを使用して複数行の文字列をcoffeescript / jquery値に挿入する方法

  17. 17

    laravelを使用して複数の配列をmysqlに挿入する方法

  18. 18

    プリペアドステートメントを使用して空白行を挿入せずにMySQLに複数の行を挿入する方法

  19. 19

    複数のforeachを使用してMYSQLに正しく挿入する方法

  20. 20

    複数の行を挿入する方法

  21. 21

    phpを使用して複数のデータ行の挿入を実行する

  22. 22

    foreachを使用して複数の挿入と削除を行う方法

  23. 23

    入力を使用して配列値から複数の行を挿入する方法

  24. 24

    selectステートメントを使用して挿入を実行し、HQLを使用して複数の行に配置する方法

  25. 25

    PHPPDOを使用して複数の行を挿入します

  26. 26

    executeを使用して複数の行を挿入します

  27. 27

    単一の実行を使用してテーブルへの複数の挿入を処理する方法

  28. 28

    変数PL / SQLに複数の行を挿入する方法

  29. 29

    Pythonを使用してPostgresqlに行を挿入する

ホットタグ

アーカイブ