zoukankan      html  css  js  c++  java
  • Oracle存储过程中临时表的使用技巧

    一、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,重新登录记录也不存在 。

  • 相关阅读:
    echo 变量不加引号出错
    linux以16进制方式查看文件
    批量删除符合条件的文件
    sed删除行
    linux用户环境变量
    脚本路径问题_dirname
    shell脚本返回字符串
    关于Unix时间戳
    grunt用来压缩前端脚本
    JAVA ThreadPoolExecutor(转)
  • 原文地址:https://www.cnblogs.com/hongwz/p/5340366.html
Copyright © 2011-2022 走看看