[SQL ] 以變數來產生暫存資料表的方式

作者: elic2577 (pupx1000你他媽雜碎)   2018-12-22 10:24:49
資料庫名稱: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這個暫存的資料表
到底是錯在哪裡呢?
請各位幫幫忙,謝謝
作者: cutekid (可愛小孩子)   2018-12-22 19:57:00
作者: elic2577 (pupx1000你他媽雜碎)   2018-12-22 20:12:00
抱歉,看了三遍還是沒看懂,我的#TEMP column可能會變動我測試CREATE TABLE #CustomerA([78701] char(50),[78702] char(50),[78704] char(50) ); 是可以的但字串組在一起去執行卻是沒有#CustomerA這個表
作者: funk6478 (大恩)   2018-12-22 23:51:00
EXECUTE不能執行CREATE TABLE

Links booklink

Contact Us: admin [ a t ] ucptt.com