DB2中的异常/错误处理程序?

DB2中的异常/错误处理程序?,db2,Db2,我有一堆SQL脚本(带有shell脚本包装器)可以像这样卸载数据 EXPORT TO /tmp/out.csv OF DEL MODIFIED BY NOCHARDEL COLDEL, DATESISO MESSAGES /tmp/out.msg SELECT WIDGETID ... 我希望以Oracle的方式向脚本添加错误处理程序: WHENEVER SQLERROR EXIT FAILURE; SPOOL /tmp/out.csv; SELECT WIDGETID.

我有一堆SQL脚本(带有shell脚本包装器)可以像这样卸载数据

    EXPORT TO /tmp/out.csv OF DEL MODIFIED BY NOCHARDEL  COLDEL, DATESISO 
MESSAGES /tmp/out.msg SELECT WIDGETID
    ...
我希望以Oracle的方式向脚本添加错误处理程序:

WHENEVER SQLERROR EXIT FAILURE;
SPOOL  /tmp/out.csv;
SELECT WIDGETID...
SPOOL OFF;
根据DB2的文档,这可以在存储过程、C、Perl和其他任何程序中完成

如何在SQL脚本中实现这一点


我正在运行DB2/LINUXX8664 9.7.2。

您可以使用DB2命令行命令处理器并获取其返回代码

或者可以使用SYSPROC.ADMIN\u CMD过程并使用其返回代码


您可以将存储的proc调用放在脚本文件中,运行类似于
db2-tvf runexport.txt的东西,或者将
db2
命令放在linux脚本文件中,并使用linux脚本foo来处理db2返回代码。

您可以使用db2命令行命令处理器来获取其返回代码

或者可以使用SYSPROC.ADMIN\u CMD过程并使用其返回代码


您可以将存储的过程调用放在脚本文件中,然后运行类似于
db2-tvf runexport.txt的东西,或者将
db2
命令放在linux脚本文件中,并使用linux脚本foo来处理db2返回码。

@Peter Mortensen除了您对我答案的编辑很挑剔之外,您删除了我提供的一个链接,并通过删除一个有意的段落中断将两个独立的想法合并为一个。请小心。@Peter Mortensen除了你对我的答案的编辑过于挑剔之外,你还删除了我提供的一个链接,并通过删除一个有意的段落分隔将两个不同的想法合并为一个。请小心。