有表t1(id, name,..., pid) t2(id, name,..., pid), t3(id1, id2, id3), 其中t3中的id1 和 id2分别是对t1, t2的外键引用,
现在我有个要求,t3中出现的一行数据(id1Value, id2Value, id3Value), 对应id1Value,id2Value在t1, t2中的pid相等,请问这个约束的表达式怎么写?
------解决思路----------------------
这个要用触发器了
CREATE TRIGGER t3_insert_trigger
ON t3
INSTEAD OF INSERT
AS
BEGIN
SET NOCOUNT ON
IF EXISTS (SELECT 1 FROM INSERTED A JOIN t1 ON A.id1=t1.id JOIN t2 ON A.id2=t2.id WHERE t1.pid=t2.pid)
INSERT INTO t3 SELECT * FROM INSERTED
ELSE
RAISERROR(N'出错.',10,1)
END