SQL INSERT使用WHILE LOOP和SELECT

时间:2012-07-18 13:19:25

标签: sql sql-server select insert while-loop

需要在数据库中添加一堆重复记录,并且不想手动完成所有操作。

需要手动添加初始记录,但是想要创建一个我可以运行的查询,基本上模拟其余记录,然后手动更改一个不同的字段。

问题是,在我输入之前,我不确切知道初始记录是什么。

例如

 FieldOne | FieldTwo   | FieldThree
----------+------------+--------------
 Text One | Text Two A | int Three A
 Text One | Text Two B | int Three A
 Text One | Text Two C | int Three A
 ...

这一切都必须手工完成。然后我需要创建:

 FieldOne | FieldTwo   | FieldThree
----------+------------+--------------
 Text One | Text Two A | int Three B
 Text One | Text Two B | int Three B
 Text One | Text Two C | int Three B
 ...

...重复第二场中的所有不同值。

希望有道理吗?

基本上我想做的是:

WHILE (SELECT ALL DISTINCT VALUES FIELDTWO)
BEGIN
INSERT INTO TABLE VALUES ('Same all the time', Value From the FieldTwo Select, 'Same all the time')
END

这可以在SQL Server中完成,你可以给我一个确切的T-SQL语句吗?

1 个答案:

答案 0 :(得分:7)

你应该可以这样做:

INSERT INTO TABLE1 (fieldtwo, fieldone, fieldthree)
SELECT DISTINCT fieldtwo, 'Same all the time',  'Same all the time' From TABLE2