informix技巧之在发生错误的时候终止sql脚本的执行

如果你创建了一个sql脚本,并且在UNIX命令行中使用以下的方式来执行这个脚本:

$ dbaccess <database> <脚本文件名>

这时,脚本中的所有的sql语句都会被执行,即使其中的一个sql语句发生了错误。例如,如果你脚本中为如下的语句:

CODE:

BEGIN WORK;  

INSERT INTO history  

SELECT *  

FROM current  

WHERE month = 11;  

DELETE FROM current  

WHERE month = 11;  

COMMIT WORK;  
如果INSERT语句失败了,DELETE语句仍旧会继续执行。直到commit work。这样的后果可能会很严重。你可以通过设置informix的一个环境变量来防止这种情况的发生。

DBACCNOIGN=1