触发器语法

mac2022-06-30  19

INSTEAD OF执行触发器语句,但不执行触发触发器的 SQL 语句,比如试图删除一条记录时,将执行触发器指定的语句,此时不再执行 delete 语句。例: create trigger f on tbl instead of delete as     insert into Logs...

IF UPDATE(列名)检查是否更新了某一列,用于 insert 或 update,不能用于 delete。例: create trigger f on tbl for update as     if update(status) or update(title)         sql_statement --更新了 status 或 title 列

inserted、deleted这是两个虚拟表,inserted 保存的是 insert 或 update 之后所影响的记录形成的表,deleted 保存的是 delete 或 update 之前所影响的记录形成的表。例: create trigger tbl_delete on tbl for delete as     declare @title varchar(200)     select @title=title from deleted     insert into Logs(logContent) values('删除了 title 为:' + title + '的记录') 说明:如果向 inserted 或 deleted 虚拟表中取字段类型为 text、image 的字段值时,所取得的值将会是 null。

转载于:https://www.cnblogs.com/liangxiaolong/articles/1408846.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)