强制交易

时间:2017-12-14 21:22:03

标签: sql sql-server database tsql sql-server-2016

我正在编写一个需要在表上循环并将值插入另一个表格的脚本。

问题是在将数据插入新表之前链接数据时会出现一些重复值。

我在while循环中执行此操作,它看起来像SQLServer在内存中构建所有insert语句并在脚本完成时执行它们。

感觉我是否正确,如果是这样,有没有办法强制SQLServer在代码中出现时单独执行每个事务?

1 个答案:

答案 0 :(得分:0)

一般来说(但并非总是如此),当您收到重复记录时,您的逻辑就会出现问题。也就是说,使用选择不同来删除重复项。

Insert into tablec (a, b, c)
select distinct  tablea.a, tablea.b, tableb.c 
  from tablea
left outer join tableb on tablea.a = tableb.b