发布网友 发布时间:2022-04-24 00:29
共1个回答
热心网友 时间:2022-04-07 22:41
在数据库中,触发器是一类特殊的存储过程。触发器与表的关系密切,用于保护表中的数据。当有操作影响到触发器保护的数据时,触发器自动执行。利用触发器可以方便地实现数据库中数据的完整性。你可以试试下面的例子
创建触发器:
USE db_SPJ
CREATE TRIGGER Insert_Check ON SPJ
FOR INSERT
AS
IF EXISTS(
SELECT *
FROM inserted a
WHERE a.SNO NOT IN (SELECT b.SNO FROM S b) OR
a.JNO NOT IN (SELECT c.JNO FROM J c) OR
a.PNO NOT IN (SELECT d.PNO FROM P d)
)
BEGIN
RAISERROR('违背数据的一致性',16,1)
ROLLBACK TRANSACTION
END
删除触发器:
USE db_SPJ
IF EXISTS(SELECT name FROM sysobjects
WHERE name='Insert_Check' AND type='TR')
DROP TRIGGER Insert_Check
GO