SQL 临时表

转载 2012年03月30日 09:48:40
1.临时表

临时表与永久表相似,但临时表存储在 tempdb中,当不再使用时会自动删除。

 

临时表有局部和全局两种类型 

两者比较:

局部临时表的名称以符号 (#)打头

仅对当前的用户连接是可见的

当用户实例断开连接时被自动删除

 

全局临时表的名称以符号 (##)打头

任何用户都是可见的

当所有引用该表的用户断开连接时被自动删除

 

 

实际上局部临时表在tempdb中是有唯一名称的

例如我们用sa登陆一个查询分析器,再用sa登陆另一查询分析器

 

2个查询分析器我们都允许下面的语句:

use pubs

go

select * into #tem from jobs

分别为2个用户创建了2个局部临时表

我们可以从下面的查询语句可以看到

SELECT *FROM [tempdb].[dbo].[sysobjects]

where xtype='u'

判断临时表的存在性:

if exists(select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#tem) and type='U')
    print 'exists'
else
    print 'not exists'

特别提示:

1。在动态sql语句中创建的局部临时表,在语句运行完毕后就自动删除了

所以下面的语句是得不到结果集的

exec('select * into #tems from jobs')

select * from #tems

 

2。在存储过程中用到的临时表在过程运行完毕后会自动删除

但是推荐显式删除,这样有利于系统及时释放资源。

相关文章推荐

sql临时表相关介绍

  • 2013年05月21日 11:12
  • 16KB
  • 下载

在T-SQL中使用临时表的注意事项

一、临时表的两种表现形式。  在SQL Server数据库中,临时表主要有两种形式,分别为全局临时表与局部临时表。这两种表有很大的不同,主要体现在名字上、可见性上以及可用性上。具体来说,本地临时表的名...

[SQL]表变量和临时表

1 . 为什么要使用表变量 表变量是从2000开始引入的,微软认为与本地临时表相比,表变量具有如下优点:  a.与其他变量的定义一样,表变量具有良好的定义范围,并会被自动清除;  b.在存储过程中使用...

SQL临时表和表变量 Declare @Tablename Table

在SQL Server的性能调优中,有一个不可比面的问题:那就是如何在一段需要长时间的代码或被频繁调用的代码中处理临时数据集?表变量和临时表是两种选择。记得在给一家国内首屈一指的海运公司作SQL Se...

SQL临时表相关记录(WITH AS,#TMP)

一.WITH AS的含义      WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时...

SQL Server 表变量和临时表的区别

一、表变量   表变量在SQL Server 2000中首次被引入。表变量的具体定义包括列定义,列名,数据类型和约束。而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHEC...

SQL Server临时表和表变量

文章主要描述的是SQL Server临时表和表变量在实际操作中的区别介绍,我们在数据库中实际操作中,对于表的使用的时候,一般都会使用两种使用表的方法,分别就是使用临时表及表变量。在实际使用的时候,我们...

SQL SERVER临时表的使用

drop table #Tmp   --删除临时表#Tmp create table #Tmp  --创建临时表#Tmp (     ID   int IDENTITY (1,1)     no...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL 临时表
举报原因:
原因补充:

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