我有SQL脚本,它将生成数百万行并插入到DB表中。如何在SSIS中批量执行该脚本?有没有更简单的解决方案?
示例:
declare @userinput1 int =1
declare @userinput2 int =10000000;
INSERT INTO table2(col1)
SELECT ones.n + 10*tens.n + 100*hundreds.n + 1000*thousands.n + 10000*laks.n+100000*laks10.n +1000000*crore.n
FROM (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) ones(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) tens(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) hundreds(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) thousands(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) laks(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) laks10(n),
(VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) crore(n)
WHERE ones.n + 10*tens.n + 100*hundreds.n + 1000*thousands.n + 10000*laks.n +100000* laks10.n +1000000*crore.n BETWEEN @userinput1 AND @userinput2
ORDER BY 1
答案 0 :(得分:1)
使用WHILE循环,一次只能插入一个批次,从@UserInput1
开始,直到达到@UserInput2
。