【#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
無知は怖いの...今まですんごい手間をかけてたべ
これからは↑で書くぞい(;´Д`)ハァハァ

コメント
【#特別重大報道】存立危機事態オワタ:オヤジが亡くなったので諸々の行事を片してきたのぢゃ
【#特別重大報道】存立危機事態キター!有事発生ぢゃ!!なので,ぎんゆぅ~さんはしばらくお休みしまする
21年ぶりに新規航路 宮崎港に東京港と結ぶ貨物専用の定期航路開設へ
【#クマ】「泳ぐ宝石」ニシキゴイ、クマに襲われる…新潟県小千谷市のいけす
【クマ】クマによる人的被害、生活圏7割 環境省まとめ、出没は最多2万件
「ニュウハクシミ」紙を食べる害虫 生息19都道府県に拡大
文化の日な祭日らしい.文化的に休むもうず?
【#HTVX】新型宇宙輸送船HTV-X 油井さんがロボットアームでキャッチ