
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ON CONFLICT を使った場合、競合した行はEXCLUDED という名前の「テーブル」に一時保存されます。
列はINSERT対象のテーブルと同じです。https://www.postgresql.jp/document/9.5/html/sql- …
> ON CONFLICT DO UPDATEのSET句とWHEREは既存の行にテーブルの名前(または別名)を使ってアクセスでき、また挿入されようとしていた行には、特別なexcludedテーブルを使ってアクセスできます。
まず、CONFLICTを使わない複数行同時のINSERTを考えます。
INSERT INTO table1
VALUES
(10, 20, 30),
(11, 21, 31)
これに、CONFLICT以降を追加します。
このとき、UPDATEの値を直接書くのではなく、EXCLUDEDテーブルからの値、として記述します。
ON CONFLICT ON CONSTRAINT pk_table1
DO UPDATE
SET
b = EXCLUDED.b,
c = EXCLUDED.c
No.2
- 回答日時:
具体的に、何がわからないのでしょうか?
INSERT 〜 ON CONFLICT UPDATE 〜 は、 VALUE に複数行指定したり、クエリで複数行指定したりした場合にも対応しています。
お返事遅くなり失礼します。
具体的には今今以下の文1と文2があるのですがこれを1つにまとめるにはどう書けば良いでしょうか。
宜しくお願い致します。
【文1】
INSERT INTO table1
VALUES(10, 20, 30)
ON CONFLICT ON CONSTRAINT pk_table1
DO UPDATE SET b = 20, c = 30
【文2】
INSERT INTO table1
VALUES(11, 21, 31)
ON CONFLICT ON CONSTRAINT pk_table1
DO UPDATE SET b = 21, c = 31
※上記の10, 11の箇所がプライマリキーです。
No.1
- 回答日時:
完璧に初心者です。
ググっただけですし。
取得した別のテーブルのデータをテーブルに追加する
https://www.dbonline.jp/postgresql/insert/index2 …
具体的な点は『ポカん?』ですが、ようは別のテーブルを用意してそちらにデータを保存(蓄積?)しておき、あとは条件に添うなどで一気に行ってしまうとか?
は出来ないかなとググってみました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
GROUP BYを行った後に結合したい。
Oracle
-
文字数に合わせて、コントロールの幅を設定する方法
Visual Basic(VBA)
-
-
4
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
5
DBから日付順に指定件数の削除を行いたい
PostgreSQL
-
6
CloseとDisposeの違い
Visual Basic(VBA)
-
7
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
8
VBの「As String * 128」とは?
Visual Basic(VBA)
-
9
テーブルに主キーを作らないデメリットは?
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VARCHAR型の数値比較
-
「テーブルに座って……」という...
-
お金持ちのテーブル
-
取数計算
-
下記、問題に対しての解答が以...
-
会社の飲み会の幹事になり、座...
-
htmlコードで書かれた表にphpで...
-
面接のときテーブルが正面に。...
-
外部キーだけのテーブル(主キ...
-
1列について重複行を除いて全列...
-
L2SWはARPテーブルを持っている?
-
テーブル単位のエクスポート、...
-
Accessのテーブルデータを一気...
-
SQLで漢字名称を都道府県や市区...
-
男性と2人で飲食店に行きテーブ...
-
このISAMでは、リンクテーブル・・
-
テーブルが削除できない
-
PHPとMYSQLを使用したシフト管...
-
飲み会で、座敷orテーブルどち...
-
一つ前に戻るには…
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
テーブルに存在しない列をselec...
-
SQLにて指定日付より前、かつ最...
-
SQLでUPSERTを一度に複数行やる...
-
PostgreSQLの断片化の状況を確...
-
単純なselectが遅くなるのです...
-
MS Access から PostgreSQL へ...
-
javaでデータベース上のテーブ...
-
2つのテーブルで引き算 postgres
-
Postgresqlのレポート機能について
-
reindex と update のデッドロック
-
Postgresのデータ領域の拡張に...
-
デットロック回避策(autocommit...
-
テーブルにcsvファイルをインポ...
-
PostgreSQL 8.0.2 の ERROR: r...
-
PostgreSQL レコードからアイテ...
-
同一カラムに複数条件指定
-
備品管理のデータベースについて
-
PostgresSQLでテーブル定義の抽...
-
DISTINCTとGROUP BYの違い
おすすめ情報