我试图自动将多个插入到多个表中。使用动态sql在不同的表中自动插入
基本上,我有一个临时表,客户代码和我添加了一个行号。我也有一个源表,其中包含客户代码和个人信息。现在我想将来自客户1的人员ID插入#1,将来自客户2的所有PersonID插入#2,等等。
我用这个代码,但它会产生一个错误:
DECLARE @Customer_Code INT
DECLARE @Row INT = 1
DECLARE @SQL NVARCHAR (MAX)
WHILE @Row = SELECT MAX(Rij) FROM #M
BEGIN
SELECT @Customer_Code = Customer_Code FROM #M WHERE RowNr = @Row
SET @SQL =
'SELECT PersonID
INTO #@Customer_Code
FROM T_Sourcetable
WHERE YEAR (Date) = 2016
AND Customer_Code = @Customer_Code'
EXECUTE (@SQL)
SET @Row = @Row + 1
SET @SQL = ''
END
任何人都可以请帮我在这里。提前致谢。
PS。我使用MS SQL Server 2008的
的样本数据:
L:Customer_Code和ROWNUMBER
1,1 2,2 3,3 4,4
在现实中,显然Customer code!= RowNumber。
源表:列(Customer_Code是PersonID)
1, 8 ,
1, 9 ,
1, 10,
1, 11,
2, 9 ,
2, 12,
2, 13,
2, 14,
3, 8 ,
3, 14,
3, 15,
3, 17,
4, 8 ,
4, 10,
4, 12,
4, 14
的结果应该是:
Table #1:
PersonID
8
9
10
11
Table #2
PersonID
9
12
13
14
Table #3
PersonID
8
14
15
17
Table #4
PersonID
8
10
12
14
请编辑您的问题,将样本数据包含为DDL + DML(创建并插入语句)和期望的结果。 –
看起来有点不尽如人意,不习惯这个编辑器。希望你能弄清楚我的意思。 –
我不想弄清楚你的意思,我想复制并粘贴示例数据并准备好工作。 –