error-handling - @@ ERROR <> 0在触发器中

标签 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

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

最佳答案

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

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

关于error-handling - @@ ERROR <> 0在触发器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42118010/

相关文章:

ios - Xcode应用程序崩溃且没有错误

php - PHP 函数 error_log() 使用安全吗?

Angular http 客户端 retryWhen 无法捕获调用者的错误

python - Azure 函数 python 命名参数没有值

mysql - 如何识别MySQL触发器操作

MySQL 5.5.30 级联触发器不起作用

java - 使用 Java 准备语句的 Sybase 查询不起作用

ionic-framework - ionic ios9错误: [ng:areq] Argument ‘TabCtrl’ is not a function, got undefined

database - 获取超过 255 个字符的列时出现 Sybase 错误

sql - 如何根据 CASE 执行不同的 SELECT 语句