【问题标题】:How to delete single row using a trigger如何使用触发器删除单行
【发布时间】:2014-01-20 12:29:59
【问题描述】:

我创建了一个触发器,用于限制从sql 服务器中的database 删除记录。这是我创建trigger的查询

create trigger del on details
for delete
as begin
rollback tran
end

此触发器限制用户删除记录。但是现在,我想创建一个trigger,它允许用户一个一个地删除记录,而不是一次全部删除。我如何使用trigger 来做到这一点。

【问题讨论】:

  • 是 MySQL 还是 MSSQL?

标签: mysql sql sql-server triggers


【解决方案1】:

尝试使用(在触发代码中):

SELECT COUNT(*) FROM Deleted  

如果大于 1,则回滚。您还可以检查是否为@@ROWCOUNT > 1,如果是则回滚。

【讨论】:

  • 你应该抛出错误而不是回滚事务,否则在对应用程序代码进行故障排除时很难识别这种情况。
  • 好评(我只是想帮助完成防止多行更新的具体任务)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
  • 1970-01-01
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多