0
我試圖從一個表複製數據到另一個使用全局參數來定義本地參數。本地參數的字符串值被適當地更改,但是,當我嘗試將它們用作引用的列名稱時,它會填充我試圖僅使用參數的值而不是來自列的值的列其他表。我是sql新手,所以我被卡住了。使用參數將數據從一個表複製到另一個
DECLARE @ProductName VarChar(255), @SiteName VarChar(255)
SET @ProductName =
CASE @@[Level]
WHEN 1 THEN 'MaterialAggName'
WHEN 2 THEN 'TradeAggName'
WHEN 3 THEN 'ProfitCenterAggName'
WHEN 4 THEN 'PerformanceCenterAggName'
WHEN 5 THEN 'ValueCenterAggName'
WHEN 6 THEN 'BusinessAggName'
END;
SET @SiteName =
CASE @@[CustomerLevel]
WHEN 1 THEN 'Customer_Postal_Name'
WHEN 2 THEN 'Customer_3DigitPostal_Name'
WHEN 3 THEN 'Customer_Location_Name'
WHEN 4 THEN 'Customer_Region_Name'
WHEN 5 THEN 'Customer_County_Name'
WHEN 6 THEN 'Customer_GeoBusiness_Name'
END;
CREATE TABLE [dbo].[Temp_Demand]
(
SiteName VarChar(255),
ProductName VarChar(255),
Quantity Int
)
INSERT INTO [dbo].[Temp_Demand] (SiteName, ProductName, Quantity)
SELECT @SiteName, @ProductName, Final
FROM [dbo].[Customers_Master]
有什麼建議嗎?
什麼是@@ [Level]'和@@ [CustomerLevel]' – Praveen
由於發佈您的問題沒有多大意義。你可以看看這篇文章開始。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –
您需要使用「動態SQL」才能爲列名使用變量。谷歌並瞭解動態SQL。 –