答案 0 :(得分:0)
这取决于运行程序的块以及您的工具集。
此答案与Db2命令行处理器(Db2 CLP)有关。它也可能与允许您执行多个块并允许使用替代语句定界符的GUI工具有关。
对于Db2-CLP,您可以在一个脚本中连续运行多个匿名块(一个接一个),前提是您使用替代语句定界符。这使Db2命令处理器(如果这是您的脚本运行的对象)区分块内的语句,该语句不同于块的末尾和下一个块的开始。 (仅靠BEGIN和END还不够。)
示例脚本:
--#SET TERMINATOR @
begin
statement1;
statement2; -- etc.
end@
begin
statement3;
statement4;
end@
如果要在块之间共享变量,则最好使用GLOBAL变量,否则范围规则将阻止它。如果您有很多全局变量,那么它们对于重新启动,清理和调试可能会很混乱。考虑改用会话表(声明的全局临时表..with replace)。如果代码可能会运行数年,请从长期维护的角度考虑代码的结构。