可能重复:
Insert statement that checks for duplicate before insert
我想使用外键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)
答案 0 :(得分: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)
答案 1 :(得分:0)
使用IF NOT EXISTS
或者如果您希望进行更新,请使用MERGE
根据您在中设置的规则决定是否插入,更新或删除声明。一旦你理解了语法,它就非常有用了
MSDN:http://technet.microsoft.com/en-us/library/bb510625(v=sql.105).aspx