我試圖自動將多個插入到多個表中。使用動態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(創建並插入語句)和期望的結果。 –
看起來有點不盡如人意,不習慣這個編輯器。希望你能弄清楚我的意思。 –
我不想弄清楚你的意思,我想複製並粘貼示例數據並準備好工作。 –