因此,对于一个表的一列中的每个不同值,我想将该唯一值插入到另一个表的一行中。
list = select distinct(id) from table0
for distinct_id in list
insert into table1 (id) values (distinct_id)
end
关于如何解决这个问题有什么想法吗?
每当您考虑循环执行某项操作时,请退后一步,然后再考虑一下。SQL经过优化可与集合一起使用。您可以使用基于集合的查询来执行此操作,而无需循环:
INSERT dbo.table1(id) SELECT DISTINCT id FROM dbo.table0;
在某些极端情况下,循环可能更有意义,但是随着SQL Server的成熟和功能的增加,这些极端情况变得越来越狭窄。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句