CREATE TRIGGER SOIN ON TF_POS
FOR INSERT,UPDATE
AS
DECLARE @OS_ID VARCHAR(5)
SELECT @OS_ID=OS_ID FROM INSERTED
IF @OS_ID='SO' 
BEGIN
DECLARE @OS_NO VARCHAR(15)
DECLARE @PRD_NO VARCHAR(30)
DECLARE @ITM  INT
DECLARE @QTY FLOAT
SELECT @OS_NO=OS_NO,@ITM=ITM,@QTY=QTY FROM INSERTED
--如果SO表中存在记录则更新SO表相应的栏位
IF EXISTS(SELECT SONO FROM SOWEB..SO WHERE SONO=@OS_NO AND ITM=@ITM )
BEGIN
UPDATE SO SET QTY=@QTY
FROM SO  A
LEFT JOIN INSERTED B ON A.SONO=B.OS_NO AND A.ITM=B.ITM
WHERE A.SONO=B.OS_NO AND A.ITM=B.ITM
END
--如果SO表中无记录,则插入新记录 
ELSE
INSERT INTO  SOWEB..SO (ITM,ZDDW,CUST,CUSTNAME,SODD,SONO,PRD_NO,PRDNAME,QTY,CQTY,JFJQ) 
SELECT A.ITM,E.HS_JQZR,B.CUS_NO,C.SNM,B.SYS_DATE,B.OS_NO,A.PRD_NO,A.PRD_NAME,A.QTY, (ISNULL(A.QTY,0)-ISNULL(A.QTY_PS,0)) AS CQTY,A.EST_DD
FROM TF_POS A 
LEFT JOIN MF_POS B ON A.OS_NO=B.OS_NO 
LEFT JOIN CUST C ON B.CUS_NO=C.CUS_NO 
LEFT JOIN INSERTED D ON A.OS_NO=D.OS_NO AND A.ITM=D.ITM
LEFT JOIN MF_POS_Z E ON A.OS_NO=E.OS_NO
WHERE A.OS_ID='SO' AND A.OS_NO=D.OS_NO  AND A.ITM=D.ITMEND