Oracle 临时表的用法

本文详细介绍了Oracle中临时表的特点及创建方式,对比了其与SqlServer中临时表的区别,并阐述了Oracle临时表数据的两种存储方式:事务临时表和会话临时表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Oracle中的临时表和SqlServer有些区别。
在SqlServer中的临时表应该只是一个暂时存在的表,在会话结束后会自动删除表及其数据。
而在Oracle中的临时表则是表中的数据暂时存在,而临时表本身和其他表一样,一直存在于数据库中。
并且Oracle中的临时表数据的存放也分为两种

一:事务临时表 只要事务一提交,存放于临时表中的数据会被自动删除。
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> )
ON COMMIT DELETE ROWS;
二:会话临时表 只有在中断会话时,才会将临时表中的数据删除。
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> )
ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。

DDL是一种消耗资源非常大的操作,在运行时尽量不要使用,应用程序需要的临时表应在应用程序
安装时创建,而不是在运行时创建。Oracle中的临时表和其他数据库的临时表是相似的,在每个
数据库中创建临时表一次,不必在数据库中的每个存储过程中创建一次。临时表
总是存在的,他们作为对象存在于数据字典中,并且总是保持为空,直到
有会话在其中放入数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值