【#PostgreSQL】主キーが無ければInsert 有ればUpdateなSQL命令の存在を今,知った(GRB爆
関連記事
- 【#PostgreSQL】3ヶ月ぶりぐらいにSQLを眺めているが,判らん!!モルモルモル 【2024年07月25日(木)】
- 【#PostgreSQL】太古の昔から動いているシステムのレコード,手修正作業をするなど,と 【2023年10月06日(金)】
- 【#PostgreSQL】テーブルから取得したレコードセットをCSVへ落とそうとすると,空ファイルが出来る...ドロドロドロ 【2023年03月08日(水)】
- 仕事オワタ 昼寝しよ(GRB爆 【2023年02月23日(木)】
- 【#PostgreSQL】鬼のような4本のSQLを書き上げた 【2023年01月13日(金)】
うちの商品,この20年超ずっとね
PostgreSQLで,まず主キーチェックなクエリ(Select文)走らせて,キー無かったらInsert文
有ればUpdate文ってロジックをC#で実装してたのよ
それこそ,200数十の規模で,if文書いてInsert処理Update処理分けて...
とある案件で,mySQL触る機会があって
サンプルクエリ送られてきたところ
... ON DUPLICATE KEY UPDATE ...な構文あって.なにこれ?初見なSQLじゃげ
ぐぐったら,
「Insert時に主キーの重複エラー発生時は自動的にUpdate文に切り替えるSQL命令」
なんて,書いてある な,なんだってぇ~~>ΩΩΩ Ω
オイラがC#でチマチマ書いていたこと
SQL文一発で実現出来てる(汗
ってことは,PostgreSQLにも似たような構文があるんじゃねか?と調べてみたら
有った...ドロドロドロ
PostgreSQLじゃこう書けばよいそうな
INSERT INTO public.tbl_datasub(
tbl_data_mainkey, datatype, datacore, createymd)
VALUES (1, 6, 12.34, 20210602) /*ここまでInsert部*/
ON CONFLICT ON CONSTRAINT tbl_datasub_mainidx /*主キー制約名を記載して,キー重複チェックを行うところ*/
DO UPDATE SET /*主キー重複エラー時のUpdate文を以下に記載*/
datacore = 100.01,
createymd = 20230701
無知は怖いの...今まですんごい手間をかけてたべ
これからは↑で書くぞい(;´Д`)ハァハァ

コメント
「ルンバ」製造のアイロボット、連邦破産法11条適用申請-近年収益減
今年の漢字は、初登場「熊」に決定
今週末は天気が悪そうじゃ.お出かけには向かないかものぉ
今朝も一桁℃で寒いの.エアコンがフル稼働中
【#特別重大報道】存立危機事態オワタ:オヤジが亡くなったので諸々の行事を片してきたのぢゃ
【相続祭り】ドコモ光の解約を失敗した!ドコモは契約が無いって言うてるが...
【#大雪】大雪に対する国土交通省発表(25/12/2)