人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SQLServer2005をADO使用したPGに於いての話です

一般的に良くある処理で
”対象レコードが有ればUPDATE、無ければINSERT”
と言う様なDB操作を行いたい時

SELECTで有無を確認して有=UPDATE、無=INSERT

と言った方式以外に何か良い方式は無いでしょうか?

いきなりUPDATE、エラーならINSERTも有りとは思いますが
どうでしょうか?

REPLACE INTO的なのは無いのでしょうか?

●質問者: gin106
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:dB pg SELECT どうでしょう なのは
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ふるるP
●35ポイント

Delete してから Insert する。

0件Deleteをエラーにはしない設定(通常はエラーではないでしょう)にしておけば、

エラーなしで処理が終わります。

どちらにしろ、トランザクションは必要です。

2008にはMerge Into文があるそうなのですが、2005には無いので、ストアドを作られた方もいるようです。

http://d.hatena.ne.jp/machi_pon/20080726/1216998886


2 ● legnum
●35ポイント

MERGEステートメントというものがありますがSQLserver2008からですね

http://www.atmarkit.co.jp/fdb/rensai/sqlsvr08rev/3/sqlsvr08rev03...

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ