我想在 SQL Server 2005 中动态创建临时表,如下所示。
Create Table ##EmpMonthlyTimeReport
(
EmpID UNIQUEIDENTIFIER,
EmpName VARCHAR(100),
TaskId UNIQUEIDENTIFIER,
[07 Nov] NVARCHAR(10),
[08 Nov] NVARCHAR(10),
[09 Nov] NVARCHAR(10)
)
在上面的##EmpMonthlyTimeReport表中,列 [07 Nov]、[08 Nov]、[09 Nov]不是静态的。他们正在通过另一个函数动态创建。
因此,我在一个名为@EmpMonthlyTimeReport的变量中动态构造上表,并且我正在执行构造的 sql 字符串,如下所示:
EXEC(@EmpMonthlyTimeReport)
我收到以下错误:
Msg 50000, Level 16, State 1, Procedure SVS_WorkOnWeekends, Line 157
The name 'INSERT INTO ##EmpMonthlyTimeReport(EmpID, EmpName, TaskId)
SELECT EmpId, EmpName, TaskId FROM TableData
SELECT * FROM ##EmpMonthlyTimeReport
DROP TABLE ##EmpMonthlyTimeReport' is not a valid identifier.