首頁 > 資料庫 > mysql教程 > sqlserver 临时表创建 查询 删除

sqlserver 临时表创建 查询 删除

WBOY
發布: 2016-06-07 17:47:52
原創
1329 人瀏覽過

sqlserver 临时表创建 查询 删除

create table temptablename
(
id int identity (1,1) not null,
a1 varchar(50),
a2 varchar(50),
a3 varchar(50),
primary key (id) --定义id为临时表#tmp的主键
)

select [字段1,字段2,...,] into #tmp from table


查询临时表的数据 select * from #tmp


删除临时表 drop table #tmp

创建一个不被自动回收的全局临时表。没有经过测试,虽然貌似看上去没啥意义,和常规表有什么区别?说不定以后有用,所以还是记下来:

use master;
go
if object_id('dbo.sp_globals') is not null
  drop proc dbo.sp_globals
go
create proc dbo.sp_globals
as
create table ##globals
(
id varchar(36) not null primary key
value varchar(500)
)
go
↑sp内容

exec dbo.sp_procoption 'dbo.sp_globals','startup','true';

只有显示删除##globals才会被清除


注明
本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 sql server 实例断开连接时被删除。全局临时表的名称以两个数字符号 (##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从 sql server 断开连接时被删除。


表变量相当于ado的recordset,速度比临时表快得多。
表变量不能用在下列语句中:

insert into table_variable exec 。
select select_list into table_variable 语句。

在定义 table 变量的函数、存储过程或批处理结束时,自动清除 table 变量。
但临时表支持。
.表变量速度比临时表快得多(如果内存足够)
如果数据量不大:

 

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板