如何写特殊的触发器

如何写特殊的触发器,在insert之前获取数据,检验合格后在insert入数据表,如何实现?请各位帮帮忙。

采纳在给分 不差分
最新回答
鲜奶千层雪

2024-11-03 04:17:03

是SQL Server吗?如果是SQL Server的话用instead of触发器。举个例子
--创建一个测试表
CREATE TABLE TestTable(a int,b int);
GO
--在表上创建instead of 触发器,触发器检查插入的数据,只有a=1或b=1的情况下数据才能插入
CREATE TRIGGER TG_TestTable_Insert ON TestTable
INSTEAD OF INSERT
AS
INSERT INTO TestTable(a,b)
SELECT a,b
FROM INSERTED
WHERE a=1 OR b=1
GO
--先测试一个不符合条件的记录
INSERT INTO TestTable(a,b)
SELECT 2,2

--结果表中没有数据
SELECT * FROM TestTable

--插入2条符合条件的记录
INSERT INTO TestTable(a,b)
SELECT 1,2
INSERT INTO TestTable(a,b)
SELECT 2,1
--表中有2条记录
SELECT * FROM TestTable