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

コメント
【クマ】クマによる人的被害、生活圏7割 環境省まとめ、出没は最多2万件
「ニュウハクシミ」紙を食べる害虫 生息19都道府県に拡大
文化の日な祭日らしい.文化的に休むもうず?
【#HTVX】新型宇宙輸送船HTV-X 油井さんがロボットアームでキャッチ
【冬】来週11℃予想とか出てきてる.秋があったのか,今年(25/10/23)
【ツル】出水平野に冬の訪れを告げるツル第一陣・今季初飛来 鹿児島(25/10/21)
都城でプロ野球・ロッテ1軍が春季キャンプ実施へ
山形で開催の映画祭 監督など国内外の参加者が“芋煮”味わう
連休なんで生駒高原でコスモスを愛でてきた
連休の中日ですの.天気は良くなる方向じゃげ