zoukankan      html  css  js  c++  java
  • Oracle12C临时表 commit 之后清空了

    Oracle11g中的临时表

    create temprorary table GTT (

    column1 varchar2(100)

    )on commit preserver rows;

    这种临时表示基于会话的,当会话断开之后就会清空临时表中的内容。

    但是在Oracle12c中这样创建临时表,当会话断开之后或者执行commit操作后就会清空临时表中的内容。

    因为Oracle12C中默认有一个参数

    temp_undo_enabled默认是false,因为这样不占用表空间,一commit就清空,所以只需要设置为true
    就可以和11g一样了。
    看如下操作:

    SQL> create global temporary table t ( x int ) on commit preserve rows;

    Table created.

    SQL>

    SQL> conn scott/tiger.

    Connected.

    SQL>

    SQL> alter session set temp_undo_enabled = true;

    Session altered.

    SQL>

    SQL> insert into t 2 select rownum 3 from dual connect by level <= 100;

    100 rows created.

    SQL>

    SQL> select count(*) from t; COUNT(*) ---------- 100

    SQL>

    SQL> commit;

    Commit complete.

    SQL>

    SQL> select count(*) from t; COUNT(*) ---------- 100

     

     

  • 相关阅读:
    修改VNC的分辨率
    How to use WinSCP with public key authentication
    CentOS-7-x86_64-DVD-1511.iso
    6.828
    Tampermonkey版Vimium
    servlet+jsp完成简单登录
    Servlet知识点小结
    HTTP基础知识点小结
    LeetCode 371两数之和
    LeetCode53 最大子序列问题
  • 原文地址:https://www.cnblogs.com/yehuili/p/9951317.html
Copyright © 2011-2022 走看看