我正在創建一個存儲過程,該存儲過程必須創建一個表,該表的名稱取決於輸入變量。對於臨時結果我已經聲明瞭一個表變量:如何在tableB中選擇哪個名字是@tableB * FROM @tableA?
declare @tableA TABLE(
column1,
column2,
..
)
輸出表名稱取決於用戶的輸入,所以我已經宣佈另一個變量
declare @tableB varchar = ...
到底臨時結果必須被存儲到表名稱是@tableB,所以在存儲過程中我試圖寫下面的語句:
declare @sql varchar(max)
set @sql = 'SELECT * INTO ' + @tableB + ' FROM @tableA'
exec(@sql)
這是不正確的。有誰知道如何從表變量插入值到表中哪個名稱是可變的?
我在這裏錯過了什麼? @tableB是一個正常的表嗎?那麼爲什麼你不能使用簡單的動態插入查詢? – 2010-12-04 19:27:14