SQL Server中的临时表的用法
SQL Server中的临时表的用法
SQL Server中的临时表的用法一。临时表介绍
临时表在运行被创建的,虽说它的名字叫做临时表,可是对它的操作和我们平时操控表的操作基本一样, 比如最简单增、删、改、查等等。但是,需要注意的是临时表的创建是有范围限制的。
二、临时表分类
临时表分为2种,一种是本地临时表,另外一种就是全局临时表。
2.1本地临时表
以一个井号 (#) 开头的那些表名。只有在创建本地临时表的连接上才能看到这些表,链接断开时临时表即被删除(本地临时表为创建它的该链接的会话所独享)或者这样说局部临时表是有当前用户创建的,并且只有当前用户的会话才可以访问。
2.2全局临时表
以两个井号 (##) 开头的那些表名。在所有连接上都能看到全局临时表或者这样说只要这个全局临时表存在,那么用户创建会话后对所有的用户都是可见的。如果在创建全局临时表的连接断开前没有显式地除去这些表,那么只要所有其它任务停止引用它们,这些表即被除去。当创建全局临时表的连接断开后,新的任务不能再引用它们(换句话说旧的任务还何以引用)。当前的语句一执行完,任务与表之间的关联即被除去;因此通常情况下,只要创建全局临时表的连接断开,全局临时表即被除去。
三。临时表的创建
3.1 创建本地临时表
方法一:
create table #临时表名(字段1 约束条件,
字段2 约束条件,
.....)
方法二:
select * into #临时表名 from 你的表;
代码如下:
Create table #Users(ID int,UserName varchar(50),Password varchar(50),RegisterDate Datetime);上面这段代码很简单,也很好理解,因为有一个# 所以它表示创建的是本地临时表。
那这个临时表创建之后,它被放到哪里了呢?它在tempdb表中的Temporary Tables 中,意思很明了 就是“临时”的意思。
比如在我的SQL Server上面:
画黄色那个就是路径,有一条长长的线条,然后后面跟着数字!~对,你没错 这就是临时表的表名。
临时表的全名由 CREATE TABLE 语句中指定的表名和系统生成的数字后缀组成。为了允许追加后缀,为本地临时表指定的 table_name 不能超过 116 个字符。
添加数据操作:
insert into #Users values(1,'Lan','123456','2011.04.23')通过“Select * from #Users”语句,执行查询 如下结果:
但是,如果你把现在的查询窗口关闭了,在重新打开,然后在在查询里输入,则会进行报错,提示 #Users无效。因为本地临时表只是用在当前用户的当前连接中。所以如果当前的连接退出,会自动销毁自己的表。
3.2创建全局临时表
方法一:
create table ##临时表名(字段1 约束条件,
字段2 约束条件,
.....)
方法二:
select * into ##临时表名 from 你的表;
全局临时表的代码基本和本地临时的代码一致,唯一的区域是,本地临时表的表明前面是一个#,而全局临时表的表名是2个##。
如:
Create Table ##Users(ID int,UserName varchar(50),Password varchar(50));它也存储在老地方----Temporary Tables中,
四。什么时候用临时表及注意事项
在下面的3个场景中,可以考虑用到临时表:
- 在存储过程中,我们需要对大量数据进行操作
- 这是游标使用的替代的解决方案,我们可以把结果输入到临时表中,然后在在从临时表中抽取我们所需要的数据。
- 有一个复杂的comple操作的时候,也可以考虑用临时表。
注意事项:
- 在SQL Server中,临时表是被创建在Temporary的tempdb中,所以,在一定程度上,它还是会影响数据库执行时候的性能,也就是性能问题。
- 当临时表做完了它的本职工作之后,临时表会自动删除。
- sql server信息管理案例(利用SQL Server数据库邮件服务实现监控和预警)
- sqlserver日志目录是否过大(SQL Server利用sp_spaceused如何查看表记录存在不准确的情况)
- SQL Server 数据库自动备份
- sql server 2008自定义函数(SQL SERVER 2012新增函数之逻辑函数CHOOSE详解)
- sql server日期查询语句(SQL Server中查询结果超出了查询时间范围解决方法)
- sqlserver调试存储过程(sql server2008调试存储过程的完整步骤)
- SQL SERVER 数据库外键
- sql中row的用法(sql server数据库中raiserror函数用法的详细介绍)
- SQL Server将数据导出到SQL脚本文件
- sql server存储过程详解(SQL Server存储过程中编写事务处理的方法小结)
- sql server 报错(sql server利用不同语种语言显示报错错误消息的方法示例)
- SQL Server 批量导入数据的方法
- sqlserver替换脚本(SQL Server中对数据截取替换的方法详解)
- sql server 锁超时(详解SQL Server中的事务与锁问题)
- sql server 时间与日期函数(SQL Server日期加减函数DATEDIFF与DATEADD用法分析)
- sql server 进阶教程(SQL Server游标的介绍与使用)
- ()
- SCI检索 SSCI检索 EI检索 ISTP检索 CSCD检索简介(SCI检索SSCI检索EI检索)
- 参考文献里期刊名称的写法,你知道吗(参考文献里期刊名称的写法)
- 硕博期刊 SCI SSCI CSSCI分不清 一文带你看懂主流期刊分类(硕博期刊SCISSCI)
- 辱华品牌新百伦官宣新代言人IU,个别粉丝希望get爱豆同款(辱华品牌新百伦官宣新代言人IU)
- 巅峰时期被爆床照,曾被选国民最讨厌女星,IU不为人知的黑历史(巅峰时期被爆床照)
热门推荐
- border:0和border:none的区别
- vue监控对象变化(Vue之监听方法案例详解)
- mybatis如何插入空格字符串(MyBatis SQL xml处理小于号与大于号正确的格式)
- mysql参数说明(MySQL中你可能忽略的COLLATION实例详解)
- 为什么css中float:right后右对齐换行
- python 基于内容的推荐系统(不到40行代码用Python实现一个简单的推荐系统)
- 如何选择适合自己的云服务器(云服务器操作系统如何选择)
- python抓取天气数据(Python实战之制作天气查询软件)
- mysql自增锁(深入剖析 MySQL 自增锁)
- python爬虫出租屋(python爬虫租房信息在地图上显示的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9