@@ ERROR<>触发器

时间:2017-02-08 16:05:16

标签: error-handling triggers sybase sybase-ase

我现在正在参与新项目,我在Sybase ASE触发器中遇到了以下逻辑:

CREATE TRIGGER TR_TEST2
   ON TBL_TEMP2
FOR INSERT
 AS  
 insert into TBL_TEMP select * from inserted
if @@error != 0
begin
print 'ERROR!!!'
rollback trigger
end

我已经用不同的情况检查了这个触发器,我无法理解何时如果@@ error!= 0 将被处理。 如果INSERT中存在一些错误,则触发器会因错误而失败并回滚。触发器执行将在引发错误的语句中止 有人可以解释我的目的如果@@ error!= 0 用于触发器以及什么时候可以触发?

1 个答案:

答案 0 :(得分:0)

我用于测试Sybase Central v.6.0 如果发生错误,它不会显示任何PRINT结果 当我使用QTODBC工具连接到Sybase ASE服务器时,它抛出异常并打印出'ERROR !!!'消息

因此,这是Sybase Central环境的功能 实际上,当发生任何错误时触发器恢复工作