oracle 会话 临时表,Oracle 学习系列之二(会话与事务级临时表)

本文介绍了数据库中的全局临时表和事务临时表的创建及使用,重点在于oncommit preserve rows和oncommit delete rows的区别。通过示例展示了临时表在不同事务状态下的数据持久性,强调了临时表数据在会话或事务结束时的不同处理方式。
摘要由CSDN通过智能技术生成

--创建会话临时表

create global temporary table tmp_user_session(user_id int, user_name varchar2(20),user_email varchar2(30))

--这句表示 当事务提交时 保留数据

on commit preserve rows

--向临时表中插入数据

insert into tmp_user_session(user_id,user_name,user_email) values(1,‘孙业宝‘,[email protected])

insert into tmp_user_session(user_id,user_name,user_email) values(1,‘王丽莎‘,[email protected])

commit

--查询 有数据

select * from tmp_user_session

--重新打开 一个sql窗口 再次查询 则无数据了 select * from tmp_user_session 说明此插入的数据 只为本窗口会话存在

--创建事务临时表

create global temporary table tmp_users_transaction (user_id int,user_name varchar2(20),user_email varchar2(30))

--这句表示 当事务提交时 删除数据

on commit delete rows

--向临时表中插入数据

insert into tmp_users_transaction(user_id,user_name,user_email) values(1,‘孙业宝‘,[email protected]);

insert into tmp_users_transaction(user_id,user_name,user_email) values(1,‘王丽莎‘,[email protected])

--查询 有数据

select * from tmp_users_transaction

--提交下语句 或者回滚事务 rollback  再次查询   select * from tmp_users_transaction  就没有数据了 因为事务临时表 就是在事务提交时 就数据清空了

commit;rollback;

原文:http://www.cnblogs.com/haofaner/p/4045270.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值