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で質問しましょう!
似たような質問が見つかりました
- MySQL 下の画像はSQLの4大命令の性質をまとめたものであるらしいです UPDATE INSERT DELE 1 2023/06/07 15:36
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- Oracle Oracleですがsqlで質問です。 サブクエリ内で番号というカラムで昇順の1レコード目を取得したい 3 2023/05/22 10:02
- SQL Server SQL 期間内の実施数を合計したい 2 2023/03/03 22:28
- Access(アクセス) アクセス 有効なフィールド名、または式として認識できませんのエラー 3 2022/08/19 11:53
- JavaScript html javascriptにてWeb SQLを操作したい。 2 2022/12/16 17:43
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
updateで複数行更新したい
Oracle
-
timestampのデータはどのようにして入力
PostgreSQL
-
テーブルに主キーを作らないデメリットは?
その他(Microsoft Office)
-
-
4
GROUP BYを行った後に結合したい。
Oracle
-
5
PostgreSQLのtimestamp型で時間(分)を抽出したい
PostgreSQL
-
6
PostgreSQLで外部DB内のテーブル参照方法を教えてください
PostgreSQL
-
7
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
8
外部キーが設定されているテーブルのupdateについて
PostgreSQL
-
9
Javaで年月の取得(YYYYMM形式で)
Java
-
10
データベース関係で、データの洗い替えとはどのような事を行うことでしょう
IT・エンジニアリング
-
11
Path型をString型へ変換する(Java)
Java
-
12
postgresql についてです
PostgreSQL
-
13
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
14
group byで指定したカラム以外のカラムの値を取得したい
PostgreSQL
-
15
postgresqlの接続ポート5432から5433に変更したら
PostgreSQL
-
16
SELECT 文の NULL列は?
PostgreSQL
-
17
binフォルダーとは?
その他(ソフトウェア)
-
18
SQLServerでNULLを挿入したいです
SQL Server
-
19
エクセルのデータグループ化の際に貼り付けた図だけ一緒に折りたたんでくれません!
Windows Vista・XP
-
20
「マスタ」と「テーブル」の違いとはなんでしょうか?
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT 文の NULL列は?
-
SQLにて指定日付より前、かつ最...
-
POSTGRESQL 検索スピードが遅い
-
単純なselectが遅くなるのです...
-
テーブルに存在しない列をselec...
-
VIEWのCOPYってできないんですか?
-
PostgreSQLの断片化の状況を確...
-
Postgresのデータ領域の拡張に...
-
SQLでUPSERTを一度に複数行やる...
-
2つのテーブルで引き算 postgres
-
単位時間ごとのレコードのカウント
-
javaでデータベース上のテーブ...
-
Pythonで2つのデータ(キー無し...
-
Accessでデータシートに同じデ...
-
テーブル名をカラムとして取得...
-
削除フラグってどうなんでしょう?
-
UPDATE文
-
面接のときテーブルが正面に。...
-
テーブルリンク リンク元を知...
-
SQL、2つのテーブルで条件一致...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文の NULL列は?
-
SQLにて指定日付より前、かつ最...
-
単純なselectが遅くなるのです...
-
SQLでUPSERTを一度に複数行やる...
-
PostgreSQLの断片化の状況を確...
-
テーブルに存在しない列をselec...
-
2つのテーブルで引き算 postgres
-
重複を許すキーの構文がわかり...
-
javaでデータベース上のテーブ...
-
Postgresのデータ領域の拡張に...
-
postgreSQL カラムの全ての値を...
-
PostgreSQL レコードからアイテ...
-
Postgresqlのレポート機能について
-
Pythonで2つのデータ(キー無し...
-
reindex と update のデッドロック
-
MS Access から PostgreSQL へ...
-
最新レコードを抽出し外部結合...
-
UPDATE文の更新順序について
-
VIEWのCOPYってできないんですか?
-
DBFluteについて質問です。 環...
おすすめ情報