[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