在mssql中多次添加预定义值

时间:2016-06-16 13:37:42

标签: sql-server variables parameters insert

我已经创建了一个测试表来测试这是否可行,我的任务是在多行中添加相同的值:

declare  @counter int
set @counter = 100

case when @counter > 0 then insert into table test values('1','2')
@count=@count - 1

现在这应该在100行中添加值1和2,但它不起作用。任何人都可以确认上述代码是否接近解决任务?

3 个答案:

答案 0 :(得分:2)

DECLARE @counter INT = 100;

WHILE @counter > 0
BEGIN
   insert into table test values('1','2');
   @count=@count - 1;
END;

但这可能更好,因为同时发送所有100个插入

<强> Fiddle Demo

CREATE table test (
    f1 text,
    f2 text
);    

;WITH e1(n) AS
(
    SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL 
    SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL 
    SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 1
), -- 10
e2(n) AS (
    SELECT 1 FROM e1 CROSS JOIN e1 AS b
)  -- 100
INSERT INTO test
    SELECT '1', '2' 
    FROM e2;

SELECT *
FROM test;

答案 1 :(得分:2)

由于这仅用于测试,因此您可以将其变得非常简单。我绝不会在生产中使用这样的代码,但是为了生成测试数据,这很好。

insert into table test values('1','2')
go 100

答案 2 :(得分:0)

VAR1