【发布时间】:2014-05-02 02:08:47
【问题描述】:
我有一个包含一些记录的表,大约 40 条,称为 Table1。
我想在另一个表中为每个这些记录创建一个新寄存器,但我不知道该怎么做。我想为每条记录迭代一个while循环并将记录插入另一个表中,但我不知道如何(语法)。
我想要这样的东西:
foreach record in myTable1
Insert into Table2(IDTable1) VALUES(record.IDTable1)
end foreach
我不知道 SQL Server 中的脚本。
谢谢。
【问题讨论】:
-
插入表 2 (IDTable1) 从 myTable1 中选择 IDTable1
-
遍历游标是任何数据库最糟糕的性能杀手。您几乎总是可以创建一个
INSERT ... FROM语句来完成相同的工作,只需要 1/1000 的时间(至少)。 -
您不会(通常/如果可以避免的话)在 SQL 中循环。您编写一个描述整个总体目标的查询,然后让数据库系统找出最好的方法。
标签: sql sql-server while-loop