如何使用存储过程重复现有行最多10,000次?我们必须使用we循环吗?我的表Student像Name, ID, Marks.一样有3列,目前它有10条记录。
Sample Data:
ID Name Marks
1 John 88
2 Dave 98
Expected Data:
ID Name Marks
1 John 88
2 Dave 98
1 John 88
2 Dave 98
1 John 88
2 Dave 98
1 John 88
2 Dave 98预期的数据行计数应该是10,000。
发布于 2017-01-31 15:36:44
如果不能/不想使用数字表,则可以在SSMS中使用GO指定要执行语句的次数:
Insert Student
(Id, Name, Marks)
Select Distinct Id, Name, Marks
From Student
Go 5000上面的语句将执行5,000时间,从而插入10,000记录。
发布于 2017-01-31 15:46:36
编辑-错过了10,000行计数.校正
这是一个临时数字/理货表.这算不算?
Declare @YourTable table (ID int,Name varchar(50),Marks int)
Insert Into @YourTable values
(1,'John',88),
(2,'Dave',98)
;with cte0(N) As (Select 1 From (Values(1),(1),(1),(1),(1),(1),(1),(1),(1),(1)) N(N)),
cteN(N) As (Select Top (10000/(select count(*) from @YourTable)) Row_Number() over (Order By (Select NULL)) From cte0 N1, cte0 N2, cte0 N3, cte0 N4) -- 10,000
Select A.*
From @YourTable A
Cross Join cteN B或其他选项
Select A.*
From @YourTable A
Cross Join (Select Top (10000/(select count(*) from @YourTable)) N=Row_Number() Over (Order By (Select Null)) From master..spt_values N1,master..spt_values N2) Bhttps://stackoverflow.com/questions/41961300
复制相似问题