Oracle数据库基础学习11-全局临时表

  • 临时表减少了事务产生的重做信息,可以节省重做日志的大小
  • 在临时表中可以使用主键和索引,以便提高临时表的性能,同时还可以在临时表上添加约束
  • 在临时表中可以像普通表一样进行新增、修改和删除。但是不同的用户无法看到其他用户的临时表数据,因为临时表中的内容仅对操作它的会话可见
  • 通过将复杂的查询结果保存到临时表中,可以提供高效的数据访问
  • Oracle中的临时表是静态的,意味着在使用之前必须先行创建

在 SQL Server 中,可以随时创建临时表,这些临时表保存在 SQL Server 的 tempdp 数据库中,在会话结束时 SQL Server 会自动删除临时表,因此,在 SQL Server 中可以运行时动态创建临时表

而Oracle的临时表必须先行创建,这与Oracle的后期绑定机制有关,在会话结束时并不会自动清除临时表,但是临时表中的数据实际上只在本会话范围内有效,因此其他的用户能够看到该临时表,也无法查看其中的数据。创建的临时表将会存储到临时表空间中,并不会永久存储。

在Oracle中,临时表使用 CREATE GLOBAL TEMPORARY 语句进行创建,基本语法如下:

create GLOBAL TEMPORARY TABLE [方案.]表名
(列名 列类型 [DEFAULT expr] [, ...])
{on COMMIT DELETE ROWS |  --指定创建事务级临时表
ON COMMIT PRESERVE ROWS}; --指定创建会话级临时表

可以看到,除了 CREATE GLOBAL TEMPORARY TABLE 语句上的不同之外,Oracle的临时表还要求指定是事务级的临时表还是会话级的临时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值