Create PROCEDURE Test
AS
DECLARE @strSQL nvarchar(500)
SET @strSQL = 'select mobileno,regtime into #tmpTable from textmessage'
EXEC SP_EXECUTESQL @strSQL
--PRINT @strSQL
Select * FROM #tmpTable
GO上边存储过程执行的时候老是提示:
对象名 '#tmpTable' 无效。将@strSQL语句输出再在查询分析器中执行却没有问题,其原因是临时表有作用域的,上边临时表的作用域只在exec内部有效!解决方法:改用全局临时表!
Create PROCEDURE Test
AS
DECLARE @strSQL nvarchar(500)
SET @strSQL = 'select mobileno,regtime into ##tmpTable from textmessage'
EXEC SP_EXECUTESQL @strSQL
--PRINT @strSQL
Select * FROM ##tmpTable
IF object_id('tempdb..##tmpTable') is not null Drop Table ##tmpTable
GO
评论(0)
暂无评论。