作者elic2577 (pupx1000你他媽雜碎)
看板Database
標題[SQL ] 以變數來產生暫存資料表的方式
時間Sat Dec 22 10:24:49 2018
資料庫名稱:MS-SQL
資料庫版本:2014
內容/問題描述:
想以變數產生暫存用的資料表
DECLARE @TEST NVARCHAR(MAX)
Select @TEST=.......(不管他)
SELECT @TEST
到這邊我的@TEST變數已經可以產生像是下列這樣的文字
[78701] char(50),[78702] char(50),[78704] char(50),[78706] char(50)
DECLARE @SqlString Nvarchar(MAX)
SET @SqlString ='CREATE TABLE
#CustomerA(' + @TEST + ');'
EXECUTE (@SqlString)
到這邊都沒有出現錯誤文字
但是
Select * from
#CustomerA
卻說是無效的物件名稱 '
#CustomerA',去查也沒有
#CustomerA這個暫存的資料表
到底是錯在哪裡呢?
請各位幫幫忙,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.97.49
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1545445491.A.3F1.html
→ elic2577: 抱歉,看了三遍還是沒看懂,我的#TEMP column可能會變動 12/22 12:12
→ elic2577: 我測試CREATE TABLE #CustomerA([78701] char(50), 12/22 12:13
→ elic2577: [78702] char(50),[78704] char(50) ); 是可以的 12/22 12:15
→ elic2577: 但字串組在一起去執行卻是沒有#CustomerA這個表 12/22 12:16
推 funk6478: EXECUTE不能執行CREATE TABLE 12/22 15:51