首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-01-26 
动态SQL中创建的临时表不能访问怎么办?SELECT@NMAX(LEN(F0080))FROMKLDB.DBO.OTH_D_NEWS--临时表,ID最大

动态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

热点排行