2013-03-23 53 views
2

我使用SQL服务器2008,我有payment表和paymentLog表。SQL更新触发错误 - (无法创建触发器,因为表具有更新级联的外键)

Create Table Tab_Payment 
(
    Eid integer NOT NULL, 
    Date_of_Reflect date NOT NULL, 
    Amount integer NOT NULL, 
    ... 
    Constraint PK_Payment Primary Key(Eid,Date_of_Reflect), 
    Constraint FK_Emp Foreign key (Eid) references Tab_Employee(Eid) ON DELETE NO ACTION ON UPDATE CASCADE, 
); 

我将使用触发器将数据插入到paymentLog。

Create Trigger Trigger_Payment_Audit 
on Tab_Payment 
after update 
As 
    ... 
GO 

我无法创建触发器。错误来了。我应该怎么做才能解决这个问题。
无法在'Tab_Payment'上创建INSTEAD OF UPDATE触发器'Trigger_Payment_Audit'。这是因为表具有级联UPDATE的FOREIGN KEY。

我在SO上发现了类似的帖子。布特没有帮助我。

回答

2

好的。最后我解决了我的问题。其实这里并没有真正的错误。这只是编辑指出的一个错误。即使它表明有错误,我也可以运行触发器。