任何人都可以向我解釋觸發器的下面的代碼嗎?請注意,上面的代碼是由我的一個類隊友編寫的,我無法理解其中的任何內容。無法理解觸發語句
我無法理解它。
此外,如果有任何其他方式來完成相同的任務,請讓我知道。
CREATE trigger [dbo].[trg_InsertInBookIssuedDetails]
on [dbo].[BOOKISSUEDDETAILS]
for insert
as
begin
begin tran
update nur
set nur.NumberOfBooksIssued = nur.NumberOfBooksIssued+1
FROM NEWMEMBER nur
INNER JOIN INSERTED i
ON i.IssuedTo = nur.MEMBERName
if exists(
select 1
from LIBRARYBOOKDETAILS lbd
INNER JOIN INSERTED i
ON i.BookID = lbd.BookID
WHERE lbd.Inventory<=1
)
begin
raiserror('Books UnAvailable Or Cannot Issue More Than 3 Books',16,-1)
rollback tran
end
else
begin
update lbd
set lbd.Inventory = lbd.Inventory - 1
FROM LIBRARYBOOKDETAILS lbd
INNER JOIN INSERTED i
ON lbd.BookID= i.BookID
commit tran
end
end
請幫我理解上面的觸發語句。
在此先感謝!
您是否試圖瞭解觸發器通常會執行什麼操作,或者該觸發器中的SQL是做什麼的? – David 2009-09-30 16:47:33
雙間隔SQL是你的問題。 – Welbog 2009-09-30 16:47:56
這個觸發器中的SQL是幹什麼的? – Sheetal 2009-09-30 16:50:03