oracle存储过程中如何创建临时表,Oracle存储过程中临时表的使用技巧

在Oracle中,临时表分为SESSION、TRANSACTION两种,SESSION级的临时表数据在整个SESSION都存在,直到结束此次SESSION;而 TRANSA

一、Oracle临时表知识

在Oracle中,临时表分为SESSION、TRANSACTION两种,SESSION级的临时表数据在整个SESSION都存在,直到结束此次SESSION;而 TRANSACTION级的临时表数据在TRANACTION结束后消失,即COMMIT/ROLLBACK或结束SESSION都会清除 TRANACTION临时表数据。

1) 会话级临时表 示例

1创建

create global temporary table temp_tbl(col_a varchar2(30))

on commit preserve rows

2插入数据

insert into temp_tbl values('test session table')

3提交

commit;

4查询

select *from temp_tbl

可以看到数据'test session table'记录还在。

结束SESSION,重新登录,再查询数据select *from temp_tbl,这时候记录已不存在,因为系统在结束SESSION时自动清除记录 。

2) 事务级临时表 示例

1创建

create global temporary table temp_tbl(col_a varchar2(30))

on commit delete rows

2插入数据

insert into temp_tbl values('test transaction table')

3提交

commit ;

4查询

select *from temp_tbl

这时候可以看到刚才插入的记录'test transaction table'已不存在了,因为提交时已经晴空了数据库;同样,如果不提交而直接结束SESSION,重新登录记录也不存在 。

logo.gif

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle存储过程,你可以使用临时表来存储临时数据。临时表是在会话级别创建的,仅在当前会话可见,并在会话结束后自动删除。以下是使用临时表的一般步骤: 1. 创建临时表使用CREATE GLOBAL TEMPORARY TABLE语句创建临时表临时表可以是全局临时表(GLOBAL TEMPORARY TABLE)或本地临时表(LOCAL TEMPORARY TABLE)。全局临时表在所有会话之间共享结构定义,但数据仅在当前会话可见。本地临时表在会话级别创建使用,并且只在当前会话可见。 2. 定义临时表结构:在CREATE TABLE语句定义临时表的列和其他约束。 3. 在存储过程使用临时表:在存储过程,你可以像使用任何其他表一样使用临时表。你可以插入、更新、删除、查询临时表的数据,并在存储过程执行期间将其作为间结果使用。 4. 清空或删除临时表:当你需要清空或删除临时表的数据时,可以使用TRUNCATE TABLE或DELETE语句。TRUNCATE TABLE语句会快速删除表的所有数据,而保留表结构。DELETE语句可以根据条件删除表的数据。 5. 存储过程结束后临时表自动删除:一旦存储过程执行完毕或会话结束,临时表会自动删除,无需手动清理。 使用临时表可以在存储过程方便地存储和处理临时数据,提高性能和简化逻辑。注意,临时表的数据仅在当前会话可见,不会对其他会话产生影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值