sqlserver 临时表的用法
程序员文章站
2023-12-10 15:42:10
用法: 用于复杂查询时可以用临时表来暂存相关记录,能够提高效率、提高程序的可读性,类似于游标中的 my_cursor declare my_cursor cursor sc...
用法:
用于复杂查询时可以用临时表来暂存相关记录,能够提高效率、提高程序的可读性,类似于游标中的
my_cursor declare my_cursor cursor scroll
for select 字段 from tablename
临时表分为:用户临时表和系统临时表。
系统临时表和用户临时表的区别:
1)用户临时表:用户临时表的名称以#开头;
用户临时表的周期只存在于创建这个表的用户的session,对其他进程是不可见。
当创建它的进程消失时此临时表自动删除。
2)系统临时表:系统临时表的名称以##开头
全局临时表对整个sql server实例都可见,但所有访问它的session都消失的时候,它也自动删除,如:重启数据库。
创建临时表格式:
1)
create table temptablename
(
id int identity (1,1) not null,
a1 varchar(50),
a2 varchar(50),
a3 varchar(50),
primary key (id) --定义id为临时表#tmp的主键
)
2)select [字段1,字段2,...,] into #tmp from table
查询临时表的数据 select * from #tmp
删除临时表 drop table #tmp
清空临时表的所有数据和约束 truncate table #tmp
用于复杂查询时可以用临时表来暂存相关记录,能够提高效率、提高程序的可读性,类似于游标中的
my_cursor declare my_cursor cursor scroll
for select 字段 from tablename
临时表分为:用户临时表和系统临时表。
系统临时表和用户临时表的区别:
1)用户临时表:用户临时表的名称以#开头;
用户临时表的周期只存在于创建这个表的用户的session,对其他进程是不可见。
当创建它的进程消失时此临时表自动删除。
2)系统临时表:系统临时表的名称以##开头
全局临时表对整个sql server实例都可见,但所有访问它的session都消失的时候,它也自动删除,如:重启数据库。
创建临时表格式:
1)
复制代码 代码如下:
create table temptablename
(
id int identity (1,1) not null,
a1 varchar(50),
a2 varchar(50),
a3 varchar(50),
primary key (id) --定义id为临时表#tmp的主键
)
2)select [字段1,字段2,...,] into #tmp from table
查询临时表的数据 select * from #tmp
删除临时表 drop table #tmp
清空临时表的所有数据和约束 truncate table #tmp