SQL本地临时表EXEC问题

原创 2013年12月03日 13:52:52

举列子说明问题:

例1  

select * into #tab from users

 select * from #tab
 drop table #tab

结果:

wh   27 陕西
yzp 24 重庆
wb   24 榆林

例2 使用全局临时表

declare @sql varchar(MAX)

 set @sql= 'select * into ##tab from users';
 exec(@sql)
 
 select * from ##tab
 drop table ##tab

结果:

wh   27 陕西
yzp 24 重庆
wb   24 榆林


例3 使用本地临时表

declare @sql varchar(MAX)


 set @sql= 'select * into #tab from users';
 exec(@sql)
 
 select * from #tab
 drop table #tab

 结果报错:

(3 行受影响)
消息 208,级别 16,状态 0,第 6 行
对象名 '#tab' 无效。


问题原因:

当存储过程完成时,将自动删除在存储过程中创建的本地临时表

 set @sql= 'select * into #tab from users';
 exec(@sql)

执行完成后,本地临时表#tab删除





版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

SQL的将EXEC()动态执行的结果集放到一张临时表

1.创建一个本地临时表 2.将动态执行的结果集插入到临时表, 3.对临时表进行操作 CREATE TABLE #TEMP (  SupportID INT,  Keywo...

关于SQL临时表_SQL中系统临时表的使用和禁忌 及 Exec(SQLScript) 的使用

web测试:SQL中系统临时表的使用和禁忌 及 Exec(SQLScript) 的使用        以前在SQL 中写SP 时,如比较复杂时,喜欢中间使用临时表来暂存相关记录,这样的好处有很多,提高...

动态SQL的执行,注:exec sp_executesql 其实可以实现参数查询和输出参数的

点击打开链接 当需要根据外部输入的参数来决定要执行的SQL语句时,常常需要动态来构造SQL查询语句,个人觉得用得比较多的地方就是分页存储过程和执行搜索查询的SQL语句。一个比较通用的分页...

SQL Server 动态SQL EXEC加括号与不加括号的一点小问题

SQL Server 2008 R2关键代码 DECLARE @lv_address VARCHAR(2000), @lv_re_ids V...

SQL Server 系统表介绍:sys.dm_exec_sessions

管理视图用法

sql临时表相关介绍

  • 2013-05-21 11:12
  • 16KB
  • 下载

SQL Server 系统表介绍:dm_exec_connections

管理视图

优化临时表使用,SQL语句性能提升100倍

【问题现象】 线上mysql数据库爆出一个慢查询,DBA观察发现,查询时服务器IO飙升,IO占用率达到100%, 执行时间长达7s左右。 SQL语句如下: SELECT DISTINCT...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)