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

  • 相关阅读:
    OpenCV中threshold函数的使用
    opencv中namedWindow( )函数
    Open CV leaning
    RGB颜色表
    visual studio 2015 Opencv4.0.1配置
    uint16_t
    Arduino重置-复位问题
    bzoj1823 [JSOI2010]满汉全席(2-SAT)
    bzoj2208 [Jsoi2010]连通数(scc+bitset)
    UVAlive3713 Astronauts(2-SAT)
  • 原文地址:https://www.cnblogs.com/hongwz/p/5340366.html
Copyright © 2011-2022 走看看