SQL Server 触发器

2024-10-14 11:50:10

后台管理人员如何写触发器,教你如何成为一位资深的后台管理人员。小水教你如何快速掌握出发器的编写。

工具/原料

SQL Server后台

触发器语法、基本知识

1、SQL SERVER中有三类触发器FOR、AFTER、INSTEAD OF1、AFTER 指定触发器仅在触发 SQL 语句中指定的所有操作都已成功执行时才被触发。所有的引用级联操作和约束检查也必须在激发此触发器之前成功完成。用英文简单理解就是 在...之后执行2、FOR的理解就是与AFTER类同,即AFTER(FOR)3、INSTEAD OF,在执行SQL语句前取代。INSREAD OF是指定执行 DML 触发器而不是触发 SQL 语句,因此,其优先级高于触发语句的操作。

2、FOR类的语法CREATE TRIGGER tf_name --自定义触发器的名称ON table --此处为表名,触发器的表名,意为在哪个表创建触发FOR INSERT --触发类型:INSERT、UPDATE、DELETE;分别意为插入时、更新时、删除时触发,依据英文意思理解即可ASBEGINSET NOCOUNT ON --可有可无DECLARE @.. ;--声明变量selectinsert--相应的select语句,insert语句(update语句、delete语句)SET NOCOUNT OFF--可有可无ENDGO

SQL Server 触发器

4、INSTEAD OF类的语法CREATE TRIGGER tf_nameON tableINSTEAD OF INSERT --在表table中执行语句时,先执行此触发器的内容ASBEGINDECLARE @.. ;--声明变量selectinsert...--相应的select语句,insert语句(update语句、delete语句)ENDGO

SQL Server 触发器

2、INSTEAD OF类插入触发器CREATE TRIGGER S_INSERTON SF_MNINSTEAD OF INSERTASBEGIN DECLARE @CID VARCHAR(50),@REM VARCHAR SELECT @CID=ID,@REM=REM FROM INSERTED INSERT INTO MF_GJ (ID,REM) VALUES (@CID,@REM)ENDGO

SQL Server 触发器

4、删除类触发器的应用CREATE TRIGGER S_DELETEON SF_MNINSTEAD OF DELETEASBEGIN DECLARE @CID VARCHAR(50) --在deleted表中查询要删除的CID SELECT @CID=ID FROM DELETED --删除对应表的记录 DELETE TC_SM WHERE CID=@CID DELETE SF_MN WHERE CID=@CIDEND

SQL Server 触发器
猜你喜欢