我正在創建存儲過程,我需要動態地構建一個臨時表。我嘗試了下面的代碼,但沒有創建表。當我在查詢窗口中執行生成的查詢時,它在那裏正常工作。爲什麼不是從存儲過程內創建表?
--declare query variable
DECLARE @Query nvarchar(MAX)
SET @Query = 'CREATE TABLE #final (DATE int,'
--DECLARE @COLUMNNAME VARIABLE
DECLARE @ColName nvarchar(10)
OPEN @taCur
FETCH NEXT FROM @taCur INTO @ColName
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @Query = @Query + 'T_' + @ColName +' int,'
FETCH NEXT FROM @taCur INTO @ColName
END
SET @Query = @Query + 'TOTAL int,CUMM_TOTAL int)'
print @Query
EXEC sp_executesql @Query
--SET @Query = 'INSERT INTO #final (DATE) VALUES (1)'
SET @Query = 'SELECT * FROM #final'
print @Query
EXEC(@Query)
最終生成創建表的查詢是遵循
CREATE TABLE #final (DATE int,T_211E int,T_211G int,T_211H int,T_211J int,T_211L int,T_221F int,TOTAL int,CUMM_TOTAL int)
+1對於代碼示例.. – 2012-04-28 04:10:01
謝謝@Siva ...你的回答很有幫助 – Dharmesh 2012-04-28 04:15:24