SQL Server 触发器(正在完善)

在这里插入图片描述

表名:属性表二

DELETE (AFTER)触发器

格式:

CREATE TRIGGER 触发器名
ON 表名
AFTER DELETE 
AS 
BEGIN
DECLARE @A(参数) INT 
SELECT @A=DELETED.列名 FROM DELETED
DELETE 表名
where  条件
END

例:

CREATE TRIGGER chufaqi
ON [dbo].[属性表二]
AFTER DELETE 
AS 
BEGIN
DECLARE @A INT 
SELECT @A=DELETED.ID FROM DELETED
DELETE 属性表 
where  id=@A
END

意思为如果删除id列的某一值,则会直接删除这一行的所有值
做DELETE 操作
在这里插入图片描述
执行SQL
在这里插入图片描述

INSTEAD OF 触发器

例:

CREATE TRIGGER chufaqi2
ON [dbo].[属性表二]
INSTEAD OF DELETE 
AS 
BEGIN 
DECLARE @B INT 
SELECT @B=COUNT(*) FROM DELETED 
IF @B>0
BEGIN
RAISERROR ('不能删除',10,1)
rollback transaction 
end
end

不允许进行删除操作的触发器
結果:
在这里插入图片描述

触发器的删除

格式:

DROP TRIGGER 触发器名

猜你喜欢

转载自blog.csdn.net/weixin_43920680/article/details/89467644