任何人都可以向我解释触发器的下面的代码吗?请注意,上面的代码是由我的一个类队友编写的,我无法理解其中的任何内容。无法理解触发语句
我无法理解它。
此外,如果有任何其他方式来完成相同的任务,请让我知道。
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