SQL不插入重复项

2024-01-09

我一直在寻找一种解决方案来最好地实现“如果该行已存在则不插入”。我读过很多答案,它们在某种程度上有所不同,而且它有点高于我的水平,没有任何意义。

例如,以下帖子是最佳结果:SQL Server 如果不存在则插入 https://stackoverflow.com/questions/20971680/sql-server-insert-if-not-exist但我无法理解为什么使用这些变量以及如何定义 table1 和 table2。有人可以进一步解释一下,以便我可以将其应用到我的情况吗?

在我的示例中,我想将大约 5 列(日期、数字 1、数字 2、文本 1、文本 2)从表 1 插入到表 2,但前提是这些列不存在。不需要更新。 (因此合并是不可能的)


使用的替代方法NOT EXISTS,将使用EXCEPT关键字对两个结果集中的数据进行“差异”,从两个结果集中选择Table1 and Table2:

INSERT INTO table2 (Date, Number1, Number2, Text1, Text2) values 
SELECT A.Date, A.Number1, A.Number2, A.Text1, A.Text2 
FROM Table1 A
EXCEPT
SELECT B.Date, B.Number1, B.Number2, B.Text1, B.Text2 
FROM Table2 B;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL不插入重复项 的相关文章

随机推荐