私の要件では、以下のような一時テーブルを 1 つ作成しています。
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' 付近の構文が正しくありません