我想创建一个程序,检查一行中的数据是否已经在两个不同的表中,如果找到了,就会失败,这样就不会在表中创建重复的行。
目前我有
If NOT EXISTS (SELECT 1 FROM table_a)
这可以阻止它复制表a中的行,但如果数据也已经在表b中,我希望它不能插入行。实现这一点的最佳方法是什么?
您可以检查条件类型为NOT EXISTS (SELECT 1 FROM table_a WHERE ..) AND NOT EXISTS (SELECT 1 FROM table_b WHERE ..)
的多个表
您也可以将NOT EXISTS与union all一起使用。
IF NOT EXISTS(
SELECT 1 FROM Table_a WHERE condition
UNION ALL
SELECT 1 FROM Table_b WHERE condition
.
.
.
)
BEGIN
-- Your logic
END