读书人

动态SQL中创建的临时表不能访问怎么处

发布时间: 2012-01-26 19:40:46 作者: rapoo

动态SQL中创建的临时表不能访问怎么办?
SELECT @N=MAX(LEN(F0080)) FROM KLDB.DBO.OTH_D_NEWS

--临时表,ID最大值为相关股票字段最大长度
SET @SQL= 'SELECT TOP '+CONVERT(VARCHAR(10),@N)+ ' ID = IDENTITY(INT,1,1)
INTO # FROM SYSCOLUMNS A, SYSCOLUMNS B '

EXECUTE SP_EXECUTESQL @SQL

SELECT * FROM #
---------------------------------------
服务器: 消息 208,级别 16,状态 1,过程 P_GENERATE_TB8002,行 20
对象名 '# ' 无效。

应该如何处理?

[解决办法]
用全局表
[解决办法]
#tableName ----> ##tableName
[解决办法]
--try

SELECT @N=MAX(LEN(F0080)) FROM KLDB.DBO.OTH_D_NEWS

--临时表,ID最大值为相关股票字段最大长度
SET @SQL= 'SELECT TOP '+CONVERT(VARCHAR(10),@N)+ ' ID = IDENTITY(INT,1,1)
INTO ##T FROM SYSCOLUMNS A, SYSCOLUMNS B '

EXECUTE SP_EXECUTESQL @SQL

SELECT * FROM ##T

读书人网 >SQL Server

热点推荐