Error handling @@错误<&燃气轮机;0英寸触发器

Error handling @@错误<&燃气轮机;0英寸触发器,error-handling,triggers,sybase,sap-ase,Error Handling,Triggers,Sybase,Sap 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 我已经用不同的情况检查了这个触发器,我不明白什么时候if@@error!=0将被处理。 如果INSERT

我现在正在参与新项目,我在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
我已经用不同的情况检查了这个触发器,我不明白什么时候if@@error!=0将被处理。 如果INSERT中有一些错误,触发器将失败并返回错误。和触发器执行将在引发错误的语句上中止
有人能解释一下如果发生错误,我的目的是什么吗0
用于触发器以及何时可以触发?

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

这就是Sybase Central环境的特点
实际上,当发生任何错误时,触发器会恢复工作

您应该使用
raiserror
而不是检查@error。Michael Gardner,谢谢您的回复,但我不需要提出错误,我想了解为什么要实现带@error的逻辑?如果INSERT引发错误(例如,将插入重复值),则将抛出错误,如果@error!=0将永远不会触发。你有什么想法吗如果@@error!=触发器中是否使用了0?