ORCAL 临时表创建,删除[亲测有效]

ORCAL 临时表创建,删除[亲测有效]一.Orcal临时表分类 1.会话级临时表: 1).保存一个会话Session的数据。 2).当会话退出时,临时表数据自动清空。表结构与元数据还存储在用户数据字典。 总结:会话级临时表是指临时表中的数

ORCAL 临时表创建,删除

一.Orcal临时表分类

1.会话级临时表:
1).保存一个会话Session的数据。
2).当会话退出时,临时表数据自动清空。表结构与元数据还存储在用户数据字典。
总结:会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据。

2.事务级临时表:
1).保存一个事务中需要的数据。
2).当事务提交或则回滚的时候,临时表数据自动清空。表结构与元数据还存储在用户数据字典。
总结:事务级临时表是指临时表中的数据只在事务生命周期中存在,当事务提交或则回滚的时候,Oracle自动清除临时表中数据。

二.临时表创建

1.会话级临时表

1).先创建后插入数据
  Create Global Temporary Table Table_Name (Col1 Type1,Col2 Type2...) On Commit Preserve Rows;

  Insert Into Table_Name Values("","");

2).创建时直接插入数据
  CREATE GLOBAL TEMPORARY TABLE Table_Name ON COMMIT PRESERVE ROWS AS select Col1, Col2 from Query_Table_Name where...;

2.事务级临时表

1).先创建后插入数据
  Create Global Temporary Table Table_Name (Col1 Type1,Col2 Type2...) On Commit Delete Rows;

  Insert Into Table_Name Values("","");

2).创建时直接插入数据
  CREATE GLOBAL TEMPORARY TABLE Table_Name ON COMMIT Delete ROWS AS select Col1, Col2 from Query_Table_Name where...;

三.删除临时表

如果创建临时表的会话没有结束,则无法删除临时表,因为临时表还在使用之中。但是结束会话(关闭创建会话级临时表的命令窗口)后就可以删除了;
Drop Table Table_name;

四.删除时报错

描述:关闭原先的命令窗口,然后执行 Drop Table Table_name;
报错:ORA-14452:试图创建,更改或删除正在使用的临时表中的索引

1.清空表,然后删除表
TRUNCATE TABLE test_table;
drop table test_table;

2.杀掉进程,然后删除

SELECT sid, serial# FROM v$session
WHERE sid = (SELECT sid FROM v$lock
WHERE id1 = (SELECT object_id  FROM user_objects
WHERE object_name = upper("test_table")));

如果无权限则执行授权
grant select any dictionary to user;
查询到该session的sid和serial#:
然后杀掉进程:
lter system kill session "sid,serial#";
最后进行删除
drop table test_table;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/5975.html

(0)
上一篇 2023-04-20
下一篇 2023-04-20

相关推荐

  • 容器化|自建 MySQL 集群迁移到 Kubernetes[亲测有效]

    容器化|自建 MySQL 集群迁移到 Kubernetes[亲测有效]背景 如果你有自建的 MySQL 集群,并且已经感受到了云原生的春风拂面,想将数据迁移到 Kubernetes 上,那么这篇文章可以给你一些思路。 文中将自建 MySQL 集群数据,在线迁移到 Kub

    2023-06-05
    144
  • 商业银行营销战略的4P策略是指_银行如果加强营销协同

    商业银行营销战略的4P策略是指_银行如果加强营销协同     作为银行其发展信息技术的基础是确保信息系统的安全。而应用交付厂商F5的应用交付解解决方案在应用安全领域的技术优势可以为银行发展做好保驾护航的任务。光这么说可能有些空洞,下面我们以秦皇岛银行…

    2023-02-11
    152
  • 用Python编程,学习如何使用lower()函数

    用Python编程,学习如何使用lower()函数Python是一种高级编程语言,被广泛应用于各种领域,特别是数据分析和人工智能领域。在Python编程中,经常需要将字符串进行一些处理,比如大小写转化等操作,这时候就需要使用一些字符串函数。本文将介绍如何使用lower()函数,将字符串转化为小写字母。

    2024-06-05
    58
  • delete-drop语句生成的存储过程[亲测有效]

    delete-drop语句生成的存储过程[亲测有效]问题: 开发时有时候需要对很多表进行操作。 例如:清空(删除)所有(某些)表,删除所有表某时间点之后导入的数据(类似于回滚) 解决方式: 对选定的表集合执行相同的查询条件(可为空),如果这个执行结果大

    2023-05-05
    221
  • Python可以使用if语句定义条件语句

    Python可以使用if语句定义条件语句Python是一种高级编程语言,如果您在编写代码时需要执行具有不同条件的不同操作,您可以使用条件语句if。Python的if语句提供了一个简单的方法来判断特定条件是否为真,并且根据条件的结果,执行不同的代码段。

    2024-03-18
    83
  • mysql全表扫描会加锁吗_查询mysql数据库状态

    mysql全表扫描会加锁吗_查询mysql数据库状态1. mysql排序问题 一直以为mysql是按照主键排序的,实则排序和主键没有关系(不使用 order by 子句)。 然后从 stackoverflow 上查了一下,找到了以下的回答: 没有默认的

    2023-05-17
    144
  • Mysql实战45讲学习详情-[亲测有效]

    Mysql实战45讲学习详情-[亲测有效]大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。 select * from T where ID=10; 这条查询语句的执行过程: 外部层: 用户与server层交互的媒介 一.

    2023-02-13
    150
  • oracle异常处理代码_oracle中抛出异常什么意思

    oracle异常处理代码_oracle中抛出异常什么意思语句执行过程中,由于各种原因使得语句不能正常执行,可能会造成更大错误或整个系统的崩溃,所以PS/SQL提供了异常(exception)着一处理的方法来防止此类情况的发生。在代码运行的过程中无论何时发生

    2023-03-16
    150

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注