U8/领料申请单SQL server触发器,如果自定义项13有值,把数量修改成件数乘以自定义项13,如果恰好件数等于现存量,则数量同步出空

-- ================================================

-- Template generated from Template Explorer using:

-- Create Trigger (New Menu).SQL

--

-- Use the Specify Values for Template Parameters

-- command (Ctrl-Shift-M) to fill in the parameter

-- values below.

--

-- See additional Create Trigger templates for more

-- examples of different Trigger statements.

--

-- This block of comments will not be included in

-- the definition of the function.

-- ================================================

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- =============================================

-- Author: <Author,,Name>

-- Create date: <Create Date,,>

-- Description: <Description,,>

-- =============================================

CREATE TRIGGER DZX_MaterialAppVouchs_iQuantity

ON MaterialAppVouchs

AFTER INSERT ,UPDATE

AS

BEGIN

SET NOCOUNT ON;

IF EXISTS (SELECT *

FROM inserted

LEFT JOIN (SELECT CINVCODE,cFree1,iQuantity,INUM FROM CurrentStock WHERE iQuantity <> '0' AND INUM <> '0') AS XCL

ON inserted.cInvCode = XCL.cInvCode AND inserted.cFree1 = XCL.cFree1 AND inserted.iNum = XCL.iNum

WHERE XCL.iQuantity IS NOT NULL)

BEGIN

-- ִ ޸

UPDATE MaterialAppVouchs SET MaterialAppVouchs.iQuantity = XCL.iQuantity

FROM MaterialAppVouchs

LEFT JOIN (SELECT CINVCODE,cFree1,iQuantity,INUM FROM CurrentStock WHERE iQuantity <> '0' AND INUM <> '0') AS XCL

ON MaterialAppVouchs.cInvCode = XCL.cInvCode AND MaterialAppVouchs.cFree1 = XCL.cFree1 AND MaterialAppVouchs.iNum = XCL.iNum

left JOIN inserted ON MaterialAppVouchs.AutoID = inserted.AutoID

left JOIN deleted ON MaterialAppVouchs.AutoID = deleted.AutoID

WHERE 1 = 1

AND (inserted.AutoID <> '0' OR deleted.AutoID <> '0')

AND XCL.iQuantity IS NOT NULL

END

ELSE

BEGIN

UPDATE MaterialAppVouchs SET iQuantity = MaterialAppVouchs.iNum * cInvDefine13

FROM MaterialAppVouchs

LEFT JOIN (SELECT CINVCODE, cInvDefine13 FROM Inventory WHERE cInvDefine13 <> '1') AS HSL

ON MaterialAppVouchs.cInvCode = HSL.cInvCode

left JOIN inserted ON MaterialAppVouchs.AutoID = inserted.AutoID

left JOIN deleted ON MaterialAppVouchs.AutoID = deleted.AutoID

WHERE 1 = 1

AND (inserted.AutoID <> '0' OR deleted.AutoID <> '0')

AND HSL.cInvCode IS NOT NULL

END

END

GO

相关推荐
qq_654366989 小时前
CSS3 按钮悬停时显示手型光标(cursor- pointer)的正确写法
jvm·数据库·python
Greyson19 小时前
如何交换表分区_ALTER TABLE EXCHANGE PARTITION实现数据快速导入导出
jvm·数据库·python
m0_514520579 小时前
C#怎么实现发布订阅模式 C#如何用事件总线EventBus实现模块间的松耦合消息通信【架构】
jvm·数据库·python
m0_514520579 小时前
Go语言怎么嵌套结构体_Go语言结构体嵌套教程【深入】
jvm·数据库·python
yejqvow129 小时前
如何处理DG Broker的ORA-16664错误_主备库网络通信与TNS配置排查
jvm·数据库·python
2201_761040599 小时前
mysql安装完成后如何配置慢查询阈值_mysql日志监控方法
jvm·数据库·python
m0_716430079 小时前
老旧触控板影响HTML函数工具操作吗_输入精度介绍【介绍】
jvm·数据库·python
jedi-knight9 小时前
Qwen3.5-27B 64K-Tools:一个面向本地部署的改进版大模型
大数据·数据库·人工智能
咸鱼翻身小阿橙9 小时前
QT P4
数据库·qt·nginx
HHHHH1010HHHHH9 小时前
如何在 WordPress 中通过邮箱获取用户 ID
jvm·数据库·python