我有一个包含大量数据的表,需要将其分解成块并传递给insert查询。我需要为这个存储过程编写一个存储过程,存储过程的逻辑是这样起草的(也可以改进):
VARIABLE= SELECT COUNT (*) FROM TABLE1
RUN_LOOP= (VARIABLE / 10) +1
COUNTER = 1
start= 0
END_ALL =1000
BEGIN
WHILE @COUNTER <@RUN_LOOP
SELECT * FROM TABLE2
WHERE RN BETWEEN @start+1 AND @END_ALL
COUNTER = COUNTER+1
@start=END_ALL + 1
@END_ALL = END_ALL+1000
END应如何更改循环值:
VARIABLE RUN_LOOP COUNTER start END_ALL
3125 4 1 0 1000
3125 4 2 1001 2000
3125 4 3 2001 3000
3125 4 4 3001 4000发布于 2021-10-27 08:55:55
您可以使用Lua脚本来实现这一点。请参阅文档here。
https://stackoverflow.com/questions/69724717
复制相似问题