临时表+临时表分类+创建临时表

来源:互联网 发布:汇编语言与c语言的区别 编辑:程序博客网 时间:2024/05/23 16:45

临时表
1临时表是静态的
2与普通表一样只需要一次创建表,其结构从创建到删除的整个期间都是有效的
3与普通表不同,临时表只有在用户实际向表中添加数据时,才会分配存储空间,并且分配的空间来自临时表空间,避免了与永久对象的数据争用存储空间
4临时表空间存储的数据只有在当前事务处理或者会话进行期间有效。

临时表分类
事务级别的临时表
1创建事务级别临时表,需要使用on commit delete rows字句
2事务级别临时表的纪录会在每次提交事务后被自动删除。

会话级别临时表
1创建会话级别临时表,需要使用on commit preserve rows字句
2会话级别临时表的纪录会在用户与服务器断开连接后被自动删除。

创建临时表
语法
create global temporary table table_name(
column_name data_type 【,…..】
)on commit delete | preserve rows;

on commit delete rows:事务级别临时表
on commit preserve rows:代表会话级别临时表
如果不指定on commit字句,默认为事务级别的临时表

创建事务级别临时表
举例
create global temporary table student2_transcation(
sno varchar2(10),
sname varchar2(20),
sage number(2),
cno varchar2(2)
)on commit delete rows;

这里写图片描述

创建会话级别临时表

举例

create global temporary table student2_session(
sno varchar2(10) ,
sname varchar2(20),
sage number(2),
cno varchar2(2)
)on commit preserve rows;
这里写图片描述

原创粉丝点击