作者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://webptt.com/cn.aspx?n=bbs/Database/M.1545445491.A.3F1.html
2F:→ elic2577: 抱歉,看了三遍还是没看懂,我的#TEMP column可能会变动 12/22 12:12
3F:→ elic2577: 我测试CREATE TABLE #CustomerA([78701] char(50), 12/22 12:13
4F:→ elic2577: [78702] char(50),[78704] char(50) ); 是可以的 12/22 12:15
5F:→ elic2577: 但字串组在一起去执行却是没有#CustomerA这个表 12/22 12:16
6F:推 funk6478: EXECUTE不能执行CREATE TABLE 12/22 15:51
7F:推 far0802: Create table ##temptable 05/22 23:51