用于插入的SQL动态查询

时间:2017-07-14 06:59:40

标签: sql-server-2008 stored-procedures dynamicquery

我有一个包含以下列的SQL Server表:

Product | QTY | DISCREPANCIES

我希望使用存储过程插入多个记录。

我的程序输入是:

    declare @Product varchar(50) = 'product1';
    declare @QTY int = 1;
    declare @DISCREPANCIES1 varchar(50) = 'Defected';
    declare @DISCREPANCIES2 varchar(50) = 'Shorted';
    declare @DISCREPANCIES3 varchar(50) = 'DifferentProduct';
    declare @DISCREPANCIES4 varchar(50) = 'Extra';
    declare @DISCREPANCIESQTY1 int = 1;
    declare @DISCREPANCIESQTY2 int = 1;
    declare @DISCREPANCIESQTY3 int = 1;
    declare @DISCREPANCIESQTY3 int = 1;

我希望插入的输出如下:

product1 |  1  | Defected
product1 |  1  | Shorted
product1 |  1  | DifferentProduct
product1 |  1  | Extra

如何使用while循环或使用其他任何内容插入这些值?

1 个答案:

答案 0 :(得分:0)

这实际上是一个基本的插入,但我不明白你为什么要接收4行数据而不是传入表类型参数。

insert into someTable (Product, QTY, DISCREPANCIES)
values
(@Product,@DISCREPANCIESQTY1,@DISCREPANCIES1),
(@Product,@DISCREPANCIESQTY2,@DISCREPANCIES2),
(@Product,@DISCREPANCIESQTY3,@DISCREPANCIES3)

此外,您没有解释这些参数的用途或相关方式,因此我不知道您是否要使用@QTY或上述参数。无论如何,你得到的图片......