SqlServer创建临时表
2012-05-07 00:32
120 查看
创建临时表
方法一:
create table #临时表名(字段1 约束条件,
字段2 约束条件,
.....)
create table ##临时表名(字段1 约束条件,
字段2 约束条件,
.....)
方法二:
select * into #临时表名 from 你的表;
select * into ##临时表名 from 你的表;
注:以上的#代表局部临时表,##代表全局临时表
临时表分为两类:本地临时表、全局临时表。
本地临时表仅在当前会话中可见;全局临时表在所有会话中都可见。
本地临时表的名称前面有一个编号符 (#table_name),而全局临时表的名称前面有两个编号符 (##table_name)。
除非使用 DROP TABLE 语句显式除去临时表,否则临时表将在退出其作用域时由系统自动除去。当存储过程完成时,将自动除去在存储过程中创建的本地临时表。由创建表的存储过程执行的所有嵌套存储过程都可以引用此表。但调用创建此表的存储过程的进程无法引用此表。
eg.
if exists(select [name] from sys.procedures
where [name]='proc_test' )
drop procedure proc_test
go
create proc proc_test
as
create table #t_test(id int primary key);
insert into #t_test values (10);
select x=id from #t_test;
调用:exec proc_test
结果:
x
----------------
10
方法一:
create table #临时表名(字段1 约束条件,
字段2 约束条件,
.....)
create table ##临时表名(字段1 约束条件,
字段2 约束条件,
.....)
方法二:
select * into #临时表名 from 你的表;
select * into ##临时表名 from 你的表;
注:以上的#代表局部临时表,##代表全局临时表
临时表分为两类:本地临时表、全局临时表。
本地临时表仅在当前会话中可见;全局临时表在所有会话中都可见。
本地临时表的名称前面有一个编号符 (#table_name),而全局临时表的名称前面有两个编号符 (##table_name)。
除非使用 DROP TABLE 语句显式除去临时表,否则临时表将在退出其作用域时由系统自动除去。当存储过程完成时,将自动除去在存储过程中创建的本地临时表。由创建表的存储过程执行的所有嵌套存储过程都可以引用此表。但调用创建此表的存储过程的进程无法引用此表。
eg.
if exists(select [name] from sys.procedures
where [name]='proc_test' )
drop procedure proc_test
go
create proc proc_test
as
create table #t_test(id int primary key);
insert into #t_test values (10);
select x=id from #t_test;
调用:exec proc_test
结果:
x
----------------
10
相关文章推荐
- Oracle临时表的创建(要比SQLServer繁琐,而且8i以上的版本才支持)
- sqlserver创建临时表 【转】
- SqlServer与Oracle创建临时备份表数据的语句区别
- sqlserver 创建临时表
- sqlserver 动态创建临时表的语句分享
- sqlserver创建临时表 【转
- SQLServer创建临时表的两种方式
- sqlserver 中临时表、临时变量和with as关键词创建“临时表”的区别
- sqlserver 动态创建临时表的语句分享
- sqlserver创建临时表
- sqlserver创建临时表 【转】
- sqlserver创建临时表 【转】
- C++中创建临时对象的情况
- SQLServer创建索引
- SqlServer中临时表的应用
- sq 如何创建全局的临时表。
- 第6章、核心存储和索引结构(Sqlserver存储、理解索引、创建修改删除索引、维护索引、索引重新生成)
- 简单sqlserver 分页存储过程创建 及调用
- SQLserver中的视图与主外键的创建
- 教你玩转 Java 的临时文件(创建与删除)