【问题标题】:SQL INSERT Using WHILE LOOP and SELECTSQL INSERT 使用 WHILE LOOP 和 SELECT
【发布时间】:2012-07-17 13:09:42
【问题描述】:

需要向数据库中添加一堆重复的记录,不想全部手动完成。

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

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

例如

 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 语句吗?

【问题讨论】:

  • 使用代码按钮(就像我对 sql 所做的那样)而不是 </br> 标签,因为现在无法重新格式化您的代码。

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


【解决方案1】:

你应该可以这样做:

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

【讨论】:

  • 太棒了。简单但有效!谢谢。
  • 这个答案对于我一直在从事的项目来说非常方便。非常感谢您提供了一个很好的特定用例插入查询!
猜你喜欢
  • 2012-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-17
  • 1970-01-01
  • 2011-03-04
  • 1970-01-01
  • 2021-10-19
相关资源
最近更新 更多