以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- sql触发器为什么不执行? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101300) |
-- 作者:happyft -- 发布时间:2017/5/27 20:13:00 -- sql触发器为什么不执行? ALTER TRIGGER [dbo].[trin_scllmx] ON [dbo].[生产领料明细] AFTER INSE RT AS IF @@Rowcount = 0 RETURN; BEGIN --更新库存数量 UPDATE 库存表 SE T 合格数量 = 合格数量 - a.数量 FROM(inse rted a INNER JOIN 生产领料单 d ON a.出库单号 = d.出库单号) INNER JOIN 库存表 c ON a.产品编码 = c.产品编码 AND c.工序号 = 0 WHERE c.仓库 = d.仓库; END; 上面这个代码没有错吧,为什么插入数据后不执行呢,相关的数据不会改变,也没有任何出错提示? 谢谢!
|
-- 作者:有点色 -- 发布时间:2017/5/28 10:41:00 -- 加入print看是否进入执行了。
print \'--------进入了------------------\'
|
-- 作者:HappyFt -- 发布时间:2017/5/28 12:07:00 -- ALTER TRIGGER [dbo].[trin_scllmx] ON [dbo].[生产领料明细] AFTER INSE RT AS IF @@Rowcount = 0 RETURN; else print \'--------进入了------------------\' BEGIN --更新库存数量 但是这个print的结果会显示在哪里找不到,矣?在前台操作表插入数据了,但这个没显示,是不是要手工在sql数据库表中插入数据这个pint才显示啊? 有没有办写在数据库上的提示内容,在前台操作时能弹出来显示呢,就像msgbox()那样可以显示在前台来 |
-- 作者:有点色 -- 发布时间:2017/5/28 12:36:00 -- 单独在数据库那里编写sql语句调试。 |