看板 Database 關於我們 聯絡資訊
資料庫名稱: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
cutekid: https://bit.ly/2QIStZE 12/22 11:57
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
far0802: Create table ##temptable 05/22 23:51