m0_60012878 2021-07-07 10:01 采纳率: 0%
浏览 15

添加图书,并触发触发器trg_Book_ins修改在册数量

在library数据库
创建该触发器后
create trigger Trg_Book_ins after insert on Book for each row
update Book set B_RegisteredNumber=(select count(*) from Book,inserted where Book.B_ISBN=inserted.B_ISBN and Book.B_State=1);
向Book表插入数据时,提示Table 'library.Inserted' doesn't exist

  • 写回答

1条回答 默认 最新

  • weixin_42033508 2023-02-11 01:29
    关注

    这个问题可能是因为"inserted"表不存在。在触发器中,"inserted"是一个特殊的虚拟表,用于访问执行触发操作时新插入的行。

    您可以修改该触发器如下:

    CREATE TRIGGER Trg_Book_ins
    AFTER INSERT ON Book
    FOR EACH ROW
    BEGIN
      UPDATE Book
      SET B_RegisteredNumber=(SELECT COUNT(*) FROM Book WHERE B_ISBN=NEW.B_ISBN AND B_State=1);
    END;
    
    
    评论

报告相同问题?

悬赏问题

  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名