内容是这样的..
因为要建一个表,同时有两个外键要参照同一个表的主键,二在SQLSERVER上市不允许在一个表里同时两个外键参照外表的同一个键的,所以建了个触发器来更新一个外键..触发器是这样的..
CREATE TRIGGER[dbo].[Rivalry_Upd_Del_Trig] ON [dbo].[Entity] For UPDATE,delete
AS
execute('disable trigger Entity_upd_Rivalry_Trig on Rivalry');
begin
IF update(实体)
begin
UPDATE dbo.Rivalry
SET dbo.Rivalry.竞争者=inserted.实体
FROM dbo.Rivalry,deleted,inserted
WHERE deleted.实体=dbo. Rivalry.竞争者
endIF exists(select * from deleted)and notexists(select * from inserted)
begin
delete Rivalry from Rivalry,deleted where (deleted.实体= Rivalry.竞争者)
end
end
execute('enable trigger Entity_upd_Rivalry_Trig on Rivalry');
上面红色字就是使用了execute之后,使到Entity这个表的数据不能更新和删除,因为这是老师写的,那老师自己也说不出个所以然来,所以在这请教各位大虾了...谢谢....