oracle之临时表

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 21:40 点击:

一  Oracle 临时表,可以有两种类型的临时表
1 会话级的临时表
保存当前会话(session)用到的数据,数据会话期间存在,每次提交后ORACLE将截断表(删除全部行),两个不同的session所插入的数据互不相干
2 事务级的临时表
保存当前事务用到的数据,数据只在事务期间存在,当中断会话时ORACLE将截断表。会话的数据对于当前会话私有,每个会话只能看到并修改自己的数据,DML锁不会加到临时表的数据上.
二 创建语法
1 SESSION级临时表
Sql代码 
create global temporary table temp_tbl(col_a varchar2(30))   
on commit preserve rows   

2 TRANSACTION级临时表
Sql代码 
create global temporary table temp_tbl(col_a varchar2(30))   
on commit delete rows   

这二种表插入与查询与其它表的方式是一样的
三 两种类型临时表的区别
会话级临时表采用 on commit preserve rows ;而事务级则采用 on commit delete rows ;用法上,会话级别只有当会话结束临时表中的数据才会被截断,而且事务级临时表则不管是 commit 、 rollback 或者是会话结束,临时表中的数据都将被截断
四 存储过程中创建
Sql代码 
create procduce test 
is  
isql varchar2(200); 
dptable varchar2(100):='drop table test'; 
begin 
isql:='create global temporary table  test (sid int,sname varchar2(20)) on commit delete rows; 
execute immediate isql; --创建临时表 
insert into test values (1,'abc'); 
execute immediate dptable; ---删除临时表 
end; 

作者“咫尺天涯”
 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Table函数使用简介
    • Oracle数据库Constraint约束的常用操作及异常处理
    • Bulk Collect性能分析(zz)
    • export/import的使用
    • OCP043第十五讲 Database Security
    • ORACLE10gr2数据导入MySQL方案
    • oracle 让sys用户可以使用isqlplus
    • 在oracle数据库下使用iSQL*Plus DBA访问数据库
    • Oracle行列转换小结
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1