触发器中执行回滚

[复制链接]
查看11 | 回复6 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
在触发器中需要对执行的事务执行回滚,使用Rollback 后面还要带什么内容?模仿SQLServer的RollBack Tran,提示:
Error:[IBM][CLI Driver][DB2/NT] SQL0104N在 " 0) BEGIN ATOMIC" 之后发现意外的标记 "Rollback"。期望的标记可能包括:""。LINE NUMBER=7.SQLSTATE=42601 (42601,-104), Batch 1 Line 7

触发器语法如下:
CREATE TRIGGER DB2ADMIN.TEST_TRIG_I
AFTER INSERT
ON DB2ADMIN.TEST_TRIG
FOR EACH ROW MODE DB2SQL
WHEN (@@ROWCOUNT0)
BEGIN ATOMIC
Rollback Tran;
END;
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
触发器应不支持rollback语句?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
不支持ROLLBACK
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
可以用signal完成这一目的?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
那么如果我要禁止某一张表新增记录应当如何实现?也就是说一旦发现表记录被新增立即将事务取消,在不考虑Rollback的情况下,如果解决?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
好问题
期待中............


回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
create a read only view for that table, revoke all other privillege of the table from users, then publish view to users.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行