求教-----易飞触发器

mirwxb 2016-07-18 05:17:46
想要实现检验数量小于来料数量不能保存或不能审核。下面是我自己摸索的,但当检验数量小于来料数量的时候还是可以审核,反审会造成裂核。求大神帮忙看看!

CREATE TRIGGER QMSTA_02
ON QMSTA
FOR UPDATE
AS
IF UPDATE (TA014)
BEGIN
DECLARE @TA100 numeric(16,6), @TA101 numeric(16,6)
SELECT @TA100=TA025+TA008+TA007+TAC01,@TA101=CD008
FROM QMSTA
LEFT JOIN PURCD
ON TA001=CD001 AND TA002=CD002 AND TA003=CD003
WHERE TA001=CD001 AND TA002=CD002 AND TA003=CD003 AND TA014='N'
IF @TA100 <> @TA101
BEGIN
RAISERROR('检验数量小于来料数量,请重新输入!',16,6)
ROLLBACK TRANSACTION
END
END
...全文
2066 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mirwxb 2016-07-23
  • 打赏
  • 举报
回复
上面那条发错了。 下面这样写基本可以实现 ,但提示信息不对,怎么搞? CREATE TRIGGER QMSTA_02 ---ALTER ON QMSTA FOR UPDATE AS IF UPDATE(TA014) BEGIN DECLARE @TA100 numeric(16,6) SELECT @TA100=CD008-TA025-TA008-TA007-TAC01 FROM PURCD INNER JOIN QMSTA ON TA001=CD001 AND TA002=CD002 AND TA003=CD003 IF @TA100<>'0' begin raiserror('检验数量小于来料数量,请重新输入!',16,6) ROLLBACK TRANSACTION end END
mirwxb 2016-07-23
  • 打赏
  • 举报
回复
下面这样写,基本可以实现我要的功能 ,但提示出不来! ALTER TRIGGER BOM_02 ---ALTER ON BOMCB AFTER INSERT AS BEGIN DECLARE @CB008 numeric(16,6) SELECT @CB008=CB008 FROM BOMCB IF @CB008<='0' begin raiserror('组成用量必须大于‘0’哦!',16,6) ROLLBACK TRANSACTION END END
mirwxb 2016-07-23
  • 打赏
  • 举报
回复
能说得详细点吗?
gongchunyan2008 2016-07-21
  • 打赏
  • 举报
回复
你这触发器写的。。。。 inserted表都没join进来,搞死系统的节奏。

2,679

社区成员

发帖
与我相关
我的任务
社区描述
企业开发 ERP/CRM
社区管理员
  • ERP/CRM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧