加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer创建临时表

发布时间:2020-12-12 14:39:08 所属栏目:MsSql教程 来源:网络整理
导读:创建临时表 ?????? 方法一: ???? create table #临时表名(字段1 约束条件, ??????????????????????字段2 约束条件, ??????????????????.....) ????????create table ##临时表名(字段1 约束条件, ??????????????????????????字段2 约束条件, ???????????????

创建临时表
?????? 方法一:
???? 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读