SQL sever 创建触发器问题

img

img

img

img

创建触发器的两个问题,求解:
1.创建触发器TR LEND1,当BookInfo(图丰信息表)中该图书的在库数量(RemainNum)等于0时,则禁止向LendInfo(借阅表)中添加该图书的借阅信息。
2.创建触发器TRLEND2,当LendInfo(借阅表)中有数据添加时,能自动更新
StudentInfo(读者表)中该读者的借阅数量量(LendBooks)及BookInfo(图书信息表)中该图书的在库数量(RemainNum)。

可以参考下文解决该问题
https://www.jianshu.com/p/218aacc4f588
如有帮助,请采纳

第一条:这个需求不太明确,缺少触发器触发条件,这个当RemainNum=0只是后续逻辑判断条件,而非触发器触发条件(一般是增删改查)
第二条:在LendInfo上新建一个Insert事件触发器 每次触发时 计算LendBooks和RemainNum 分别更新两张表

触发器怎么写你可以参考楼上

参考SQL触发器
https://blog.csdn.net/umgsai/article/details/38467467
第一题,创建一个LendInfo插入后触发器,

create trigger [dbo].[TRLEND1]
    on [dbo].[LendInfo]
  after insert
begin
if exists(select 1 from BookInfo where RemainNum=0 and isbn=inserted.isbn)
delete from LendInfo where  isbn=inserted.isbn
end

第二题

create trigger [dbo].[TRLEND2]
    on [dbo].[LendInfo]
  after insert
begin
update BookInfo set RemainNum=RemainNum-1 where isbn=inserted.isbn
update StudentInfo set LendBooks=LendBooks+1 where id=inserted.id

end