ITPub博客

首页 > Linux操作系统 > Linux操作系统 > SQL server 中的临时表

SQL server 中的临时表

原创 Linux操作系统 作者:iSQlServer 时间:2009-12-24 14:52:16 0 删除 编辑

临时表分为本地和全局两种。

本地临时表的名称都是以“#”为前缀,只有在本地当前的用户连接中才是可见的,当用户从实例断开连接时被删除。

全局临时表的名称都是以“##”为前缀,创建后对任何用户都是可见的,当所有引用该表的用户断开连接时被删除。

临时表保存在SQL server的tempdb数据库中,无论是本地的还是全局的,当数据库重新启动,tempdb将会被重建,这些表也都会消失

本地临时表只对当前session有效,其他session不能访问到,随着当前session的结束而自动销毁。

全局临时表不以Session结束为销毁时刻。除非手动删除,或者重新启动数据库,否则将一直存在。并且能被所有的用户访问和操作,不能进行权限的管理。所以在涉及重要信息的数据是,应避免使用这种临时表。但是也有它的好处,可以保存一些公共的信息,方便所有用户访问。

用户在会话中可以通过DROP TABLE命令提前销毁临时表

创建临时表:

 

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->create table #temp
(
id
int not null,
name
char(10),
sex
char(2),
age
int
)
insert into #temp(id,name,sex,age) values(1,'lilei','',21)

 

 

把从一个表中查询到的数据填充到临时表中(该临时表之前必须不存在,如果存在drop掉)

 

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->select * into #temp1 from borrower

 

 

 把一个表中查询到的数据填充到另一个表中(该表必须不存在)

 

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->select * into temp1 from borrower

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-623608/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2084956