1

重複の可能性:
挿入前に重複をチェックする挿入ステートメント

外部キー b_id を使用して、問題ログ テーブルに建物 ID が存在するかどうかを確認したいと思います。存在しない場合は、問題ログ テーブルに追加したいと思います。私は以下のコードを持っていますが、これは問題ログテーブルにない建物を確認するだけです...どうすれば挿入できますか? どうもありがとう。SQL Server 2008 を使用しています。

select b.b_id from building 
where not exists(select b.b_id from issue_log as l where b._id = l.b_id)
4

2 に答える 2

5

このようなもの?

INSERT INTO issue_log(b_id)
SELECT b.b_id FROM building b
WHERE NOT EXISTS(SELECT l.b_id FROM issue_log AS l WHERE b.b_id = l.b_id)
于 2012-07-10T15:01:29.953 に答える
0

または、ステートメントで設定したルールに基づいて、挿入、更新、またはオプションで削除を行うかどうかを決定するIF NOT EXISTS更新を使用する可能性がある場合は、使用します。MERGE構文を理解すると非常に便利です

MSDN: http://technet.microsoft.com/en-us/library/bb510625(v=sql.105).aspx

于 2012-07-10T15:01:24.227 に答える