如何检查一行是否在多个表中



我想创建一个程序,检查一行中的数据是否已经在两个不同的表中,如果找到了,就会失败,这样就不会在表中创建重复的行。

目前我有

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 

相关内容

最新更新