所以,我試圖創建一個觸發器,如果外鍵代碼無效,將在插入數據時引發錯誤。我有兩個表格,發佈者和標題。標題上有一個發佈者代碼,發佈者也一樣。我在我的標題插入觸發器,我目前正在做一個如果不存在,並選擇代碼等於插入行的發佈者代碼的發佈者行。我不知道這是否是正確的方法,也可能不是,因爲SQL給了我一個「多部分標識符Inserted.PublisherCode無法找到」的錯誤。任何幫助,你們可以給予讚賞。謝謝。引用插入表上的列T-SQL
go
create trigger TR_Title_PublisherCode_Insert
on title
for Insert
as
if not exists(select * from Publisher where PublisherCode = Inserted.PublisherCode)
begin
raiserror('Publisher does not exist', 16, 1)
rollback tran
end
如果您在架構中正確標識了PublisherCode爲FK,則服務器將自動處理該事件。 – hkf 2012-04-20 05:10:00
是的,我知道= P。但這是爲了一個學校的任務,我們需要創建一個觸發器來做這件事,不幸的是(沒有人說這些練習總是有意義的)。 – Jack 2012-04-20 07:13:47