无法执行与插入语句合并(用于会计处理)
表1包含要注销的GRList(基于表3上的日期)
表2包含所有GR详细信息(从2010年1月1日到现在的所有信息)
表3包含最早的索偿日期(例如:2018年4月1日)
因此从上述场景中,最早的索偿日期(例如:2018年4月1日)从表3中提取,然后在表2中搜索提取日期之前的GR(<= 1-apr-2018) ),并在表1中填充记录(从2010年1月1日到2018年3月31日)
在SQL中尝试过的代码
MERGE Table1 As Target
Using (select column1, column2 From Table2 AS tbl2 INNER JOIN Table3 as tbl3
ON tbl2.column1 = tbl3.column1
WHERE
tbl2.column1 = tbl3.column1 AND tbl2.column2 = tbl3.column2) AS SOURCE
ON
(Target.Column1 = Source.Column1 AND Target.Column2 = Source.Column2 AND Target.Column5 <= Source.Column5 )
WHEN MATCHED AND
Target.Column1 = Source.Column1 AND Target.Column2 = Source.Column2
THEN UPDATE SET Target.Column4='Updated'
WHEN NOT MATCHED BY TARGET
THEN INSERT
(Column1, Column2, Column3)
VALUES
(Source.Column1, Source.Column2, Source.Column3)
错误
消息248,第16级,状态1,第23行 nvarchar值'3000143371'的转换溢出了int列。 该声明已终止。
答案 0 :(得分:0)
您的目标表列数据类型之一是INT。您正在尝试为数据类型INT插入一个大值 尝试将目标列数据类型从INT更改为BIGINT。