SQL语句问题
DECLARE @Num INT
SELECT @Num = MAX(cast(U_code AS INT)) --取最大code
FROM U_MSP
--select @Num
SELECT
T1.Code,
T1.ItemCode,
T1.ItemGroup,
T1.MSP,
T1.FENGZHUANF,
T1.linenum,
T1.Package,
T1.PINPAI,
T1.PNGroup
INTO #TEMP01
FROM #U_MSPSJLRD T0
LEFT JOIN #U_MSPSJLRD1 T1 ON T1.DocEntry=T0.DocEntry
--查询 表头表体的数据 查询当前编辑的数据运行一次查询 +nub
INSERT INTO U_MSP(
U_Code,
U_ItemCode,
U_ItemGroup,
U_MSP,
U_FENGZHUANF,
U_Package,
U_PINPAI,
U_PNGroup
)
--如果没有记录 则插入对应的数据 +nub
SELECT @Num + u0.linenum AS U_Code, --查询MSP对应表+MSP录入单行编号的总数定义U_code
U0.ItemCode,
U0.ItemGroup,
U0.MSP,
U0.FENGZHUANF,
U0.Package,
U0.PINPAI,
U0.PNGroup
FROM #TEMP01 U0
WHERE NOT EXISTS (SELECT 1 FROM U_MSP T0 WHERE T0.U_ItemCode = U0.ItemCode) --+nb1
UPDATE T0 SET
T1.ItemCode=U0.ItemCode
FROM U_MSP T0
LEFT JOIN #TEMP01 U0 ON U0.ItemCode = T1.ItemCode
--如果有记录 则用update更新MSP对应表
我想通过U_MSPSJLRD 来更新 U_MSP 如果有记录则INSERT更新 无记录则用update
但是运行出来 没有更新U—msp
FROM #U_MSPSJLRD T0
LEFT JOIN #U_MSPSJLRD1 T1 ON T1.DocEntry=T0.DocEntry 我在前面加了#在我这个系统可以 加#的意思是取当前单据的数据 SQL里面正常是不可以的