0

我有一个包含大量数据的表,它需要分解成块并传递给插入查询。我需要为此逻辑编写一个存储过程,因为存储过程是这样起草的(也可以改进):

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
4

1 回答 1

0

您可以使用 Lua 脚本来执行此操作。请参阅此处的文档。

于 2021-10-27T08:55:55.450 回答