對於我的要求,我創建了一個臨時表象下面這樣:ALTER TABLE添加多個列與字符串變量
CREATE TABLE #ResourceMonthlyTimeReport
(
RowId INT IDENTITY(1,1),
ResourceID UNIQUEIDENTIFIER,
TaskId UNIQUEIDENTIFIER,
ProjectId UNIQUEIDENTIFIER,
-- Some column names containing date should come here.
)
在上表中,日期欄應該顯示如下圖所示:
[01 Mar, 2013] NVARCHAR(10),
[02 Mar, 2013] NVARCHAR(10),
[03 Mar, 2013] NVARCHAR(10),
...和列數取決於參數值@FromDate
和@ToDate
我寫了一個函數dbo.F_ST_DaysColumns(@FromDate, @ToDate)
ge nerates以下輸出爲字符串:
[01 Mar, 2013] NVARCHAR(10),
[02 Mar, 2013] NVARCHAR(10),
[03 Mar, 2013] NVARCHAR(10)
現在,我不理解如何將這個結果追加到上述臨時表#ResourceMonthlyTimeReport
。
我做了這樣的事情:
DECLARE @DateColumns AS VARCHAR(MAX)
SET @DateColumns = dbo.F_ST_DaysColumns(@FromDate, @ToDate)
ALTER TABLE #ResourceMonthlyTimeReport ADD @DateColumns
但是,示值誤差象下面這樣:
消息102,級別15,狀態1,過程ST_Proc_Rpt_MonthlyTimeReportSummary,行94
附近有語法錯誤'@DateColumns'