【问题标题】:stored procedure SQL exasol存储过程 SQL exasol
【发布时间】:2021-12-11 22:07:45
【问题描述】:

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

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

【问题讨论】:

    标签: sql stored-procedures while-loop exasol


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-07-12
      • 2018-05-08
      • 1970-01-01
      • 2011-10-12
      • 2011-08-03
      • 1970-01-01
      相关资源
      最近更新 更多