执行sp_executeSql以选择…到#table但不能选择临时表数据
发布时间:2021-03-11 04:30:40 所属栏目:MsSql教程 来源:网络整理
导读:试图在sp_Executedsql中选择…到临时表#TempTable. 不是它成功插入或没有但有消息那里写 (359行(s)受影响)意味着成功插入? 下面的脚本 DECLARE @Sql NVARCHAR(MAX);SET @Sql = 'select distinct Coloum1,Coloum2 into #TempTable from SPCTable with(nolock)
试图在sp_Executedsql中选择…到临时表#TempTable.
DECLARE @Sql NVARCHAR(MAX); SET @Sql = 'select distinct Coloum1,Coloum2 into #TempTable from SPCTable with(nolock) where Convert(varchar(10),Date_Tm,120) Between @Date_From And @Date_To'; SET @Sql = 'DECLARE @Date_From VARCHAR(10); DECLARE @Date_To VARCHAR(10); SET @Date_From = '''+CONVERT(VARCHAR(10),DATEADD(d,DATEDIFF(d,GETDATE()),0)-1,120)+'''; SET @Date_To = '''+CONVERT(VARCHAR(10),120)+'''; '+ @Sql; EXECUTE sp_executesql @Sql; 执行后,它返回我的消息(359行受影响). Select * From #TempTable; 它回报我: Msg 208,Level 16,State 0,Line 2 Invalid object name '#TempTable'. 怀疑它只在’选择’部分工作.插入不起作用. 解决方法本地临时表#table_name仅在当前会话中可见,全局临时## table_name表在所有会话中都可见.他们都会一直活着直到会议结束. sp_executesql – 创建自己的会话(也许单词“scope”会更好),这就是它发生的原因.(编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读