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 变量。
但临时表支持。
.表变量速度比临时表快得多(如果内存足够)
如果数据量不大:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1836275.html