存储过程 SQL exasol

Posted

技术标签:

【中文标题】存储过程 SQL exasol【英文标题】:stored procedure 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

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于存储过程 SQL exasol的主要内容,如果未能解决你的问题,请参考以下文章

sql存储过程有什么用

MS sql如何使用存储过程?

存储过程和sql语句有啥区别

VB调用SQL存储过程异步执行问题

怎么查看数据库存储过程

sql server 存储过程如何调用存储过程