采用自治事务的方式,可以在trigger里rollback or commit; 例子如下: CREATE OR REPLACE TRIGGER TRI_TRACE BEFORE INSERT OR DELETE OR UPDATE ON XXTABLE FOR EACH ROW DECLARE PRAGMA AUTONOMOUS_TRANSACTION; -- 声明自治事务 BEGIN IF UPDATING THEN ................ ................; END IF; ........
IF :NEW.ID = 1001 THEN ROLLBACK; -- 回滚上面的操作 ELSE COMMIT; -- 也可以提交上面的操作. END IF; EXCEPTION WHERE OTHERS THEN NULL; END; /
采用自治事务的方式,可以在trigger里rollback or commit;
例子如下:
CREATE OR REPLACE TRIGGER TRI_TRACE
BEFORE INSERT OR DELETE OR UPDATE ON XXTABLE
FOR EACH ROW
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION; -- 声明自治事务
BEGIN
IF UPDATING THEN
................
................;
END IF;
........
IF :NEW.ID = 1001 THEN
ROLLBACK; -- 回滚上面的操作
ELSE
COMMIT; -- 也可以提交上面的操作.
END IF;
EXCEPTION
WHERE OTHERS THEN
NULL;
END;
/