SQL Server触发器与Oacle触发器的区别?
1个回答
展开全部
SQL Server
触发器只有 语句级别的
只有 AFTER
取得 操作数据,通过 inserted deleted
编写触发器的时候,要充分考虑 一次更新一条,与一次更新多条的问题。
避免简单的 SELECT @NewName = name FROM inserted; 代码操作。
对于 FOR INSERT,UPDATE,DELETE 的
通过 查询 inserted 与 deleted 的记录 来判断
通过COLUMNS_UPDATED 实现在触发以后,判断哪些列被更新了。
Oracle 触发器有2种
一种语句级别的
一种行级的 FOR EACH ROW
有 BEFORE 有 AFTER
取得 操作数据 的是通过 :old :new
BEFORE 的时候, 可以通过 :new.xxx 来修改数据。
对于 INSERT OR UPDATE OR DELETE 的
通过 INSERTING UPDATING DELETING 进行判断。
通过 OF 字段 ON 表 实现只针对特定列的触发。
触发器只有 语句级别的
只有 AFTER
取得 操作数据,通过 inserted deleted
编写触发器的时候,要充分考虑 一次更新一条,与一次更新多条的问题。
避免简单的 SELECT @NewName = name FROM inserted; 代码操作。
对于 FOR INSERT,UPDATE,DELETE 的
通过 查询 inserted 与 deleted 的记录 来判断
通过COLUMNS_UPDATED 实现在触发以后,判断哪些列被更新了。
Oracle 触发器有2种
一种语句级别的
一种行级的 FOR EACH ROW
有 BEFORE 有 AFTER
取得 操作数据 的是通过 :old :new
BEFORE 的时候, 可以通过 :new.xxx 来修改数据。
对于 INSERT OR UPDATE OR DELETE 的
通过 INSERTING UPDATING DELETING 进行判断。
通过 OF 字段 ON 表 实现只针对特定列的触发。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询