根据我的要求,我正在创建一个临时表,如下所示:
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)
,该函数将以下输出生成为字符串:
[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”附近的语法不正确