临时表temporary table

===========================================================

作者: xsb(http://xsb.itpub.net)

发表于:2005.08.19 09:22

分类:

Oracle

出处:http://xsb.itpub.net/post/419/38485

---------------------------------------------------------------

a

8i以上版本。

Oracle 的临时表与MSSQL的不同,临时表需要先创建,不建议在运行时使用DDL语句创建!

临时表可以看作是一张普通的物理表,在其上可以建索引、建视图,建触发器等!但它的数据是会话隔离的。

区别之处:

l向表中插入数据只在会话或事务期间存在

l表中的数据只对插入数据的会话是可见的

l可用ON COMMIT指导定数据是会话专用还是事务专用

临时表的限定:

l临时表不能被分区

l不能指定约束

l不包括含嵌套表的列或VARRAY类型

l不能指定TABLESPACE, STORAGE_CLAUSE, LONGGING, NOLOGGING, MONITORING, LOB_INDEX_CLAUSE等

l不能指定SEGMENT_ATTRIBUTES_CLAUSE,NESTED_TABLE_COL_PROPERTIES或PARALLEL_CLAUSE

l分布事务不支持临时表

临时表的创建:

create global temporary tablename(column list)

on commit preserve rows; --提交保留数据 会话临时表

on commit delete rows; --提交删除数据 事务临时表

临时表是相对于会话的,别的会话看不到该会话的数据。

oracle的临时表和sql server不一样,在使用完成以后,oracle临时表中的纪录可以被定义为自动删除(分session方式和transaction方式),而表结构不会被自动删除;sql server中的临时表在使用后会被完全删除。

所以,如果是常用的临时表,你不妨一开始就建好表。

在使用的时候,不同对话之间的纪录互相不干扰,所以不会给使用带来任何问题。

对偶尔使用的临时表,也可以在过程中用动态SQL来建立(但不建议,DDL语句有较大的开销!):

CREATE OR REPLACE PROCEDURE myProc(...) AUTHID current_user IS

...

BEGIN

EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY ....';

...

END;

建议:

不得已的情况下(比较复杂的数据处理)才使用临时表,否则尽可能使用子查询代替或使用游标。

java temporary_临时表temporary table相关推荐

  1. mysql中temporary_MySQL的复制和临时表(Temporary Table)

    当你创建临时表的时候,你可以使用temporary关键字.如: create temporary table tmp_table(name varchar(10) not null,passwd ch ...

  2. 临时表temporary table

    8i以上版本. Oracle 的临时表与MSSQL的不同,临时表需要先创建,不建议在运行时使用DDL语句创建! 临时表可以看作是一张普通的物理表,在其上可以建索引.建视图,建触发器等!但它的数据是会话 ...

  3. GLOBAL TEMPORARY TABLE

    转自:http://tolywang.itpub.net/index.php CREATE GLOBAL TEMPORARY TABLE TABLENAME ( COL1 VARCHAR2(10), ...

  4. Oracle 临时表 (Gobal Temporary Table)

    提问,插入数据之后,COMMIT,数据是否一定会在表里呢? 回答 一定会在.我认为没有错 回答 可能会在.也没有错  → 没在就一定是被删了,那么有一种表,会在Commit时,清空所有数据. 刚才说的 ...

  5. Oracle - 临时表(GLOBAL TEMPORARY TABLE)

    http://aofengblog.blog.163.com/blog/static/6317021200951664351836/ Oracle - 临时表(GLOBAL TEMPORARY TAB ...

  6. mysql temporary_MySQL内部临时表(Internal Temporary Table)

    当某些SQL命令在MySQL数据库中被执行的时候,它可能需要先创建一些内部的临时表来完成比较复杂的排序或分组查询.MySQL的临时表分为 in-memory 和 on-disk 两种. 如有可能,My ...

  7. oracle 查询temporary table,Oracle临时表(Temporary Table)

    GLOBAL TEMPORARY代表全局临时表 临时表的元数据存储在数据字典里面 只当第一条DML命令发生的时候才为这张表的段分配空间 临时表数据的可见范围应该是会话级别或是事务级别的 会话或者事务级 ...

  8. 简单聊聊MySQL临时表(TEMPORARY TABLE)

    目录什么的也不需要 一.什么是临时表 二.临时表有哪些类型 1.内部临时表: 2.外部临时表: 三.对外部临时表说两句 四.执行验证 一.什么是临时表 MySQL临时表在很多场景中都会用到,MySQL ...

  9. mysql drop temporary_mysql存储过程----临时表 temporary

    在存储过程中可以使用临时表,下面有一个分割字符串的例子 语法 1.创建:create temporary table 表名(列信息); 2.删除:drop table 表名; 3.清空:truncat ...

最新文章

  1. 【Java】LeetCode 20 有效的括号 (运用数据结构:栈 解题)
  2. Python 超简单3行代码提取音乐高潮部分
  3. 《自然》:欧洲根据已知基因序列合成新冠病毒,助力疫苗开发
  4. java编程笔记8 面向对象三 内部类
  5. [20161219]关于LANGUAGE_MISMATCH.txt
  6. 第七章数组答案C语言,C语言复习题及答案-第七章-数组
  7. oracle导库需要删除原始库,导入dmp文件时,需要删除原有ORACLE数据库实例
  8. 启动spark shell
  9. [原创]按键小精灵通用去广告破解补丁
  10. C语言结构体(Struct)
  11. ireport 用html页面上 图片怎么都出不来 全是红叉的处理办法
  12. 10.11 cocoapods安装
  13. java怎么用扫描仪_如何在Java中使用扫描仪? [重复]
  14. MySQL - 安装教程详细图解
  15. Wireshark之攻击流量分析
  16. 那些年啊,那些事——一个程序员的奋斗史 ——39
  17. Web安全学习Week12
  18. 破解宝塔所有插件只需一句代码
  19. 路由器上的usb接口有什么用_解决USB接口不够用,毕亚兹Type-C扩展坞体验测评
  20. 4g+uim卡是什么卡_从 2G 到 4G,中国电信天翼 UIM 手机卡图赏

热门文章

  1. HyperDeck Extreme 8K HDR硬盘录机
  2. Ubuntu上安装驱动模块
  3. 重定向次数过多 java_Java 使用拦截器无限转发/重定向无限循环/重定向次数过多报错(StackOverflowError) 解决方案...
  4. 呼叫控制的 AT 命令
  5. 成都的互联网大厂,你知道几个?
  6. 美联致美线雕提升术除皱效果怎么样呢
  7. 【观察】科技智医,致敬智慧医疗“攀登者”
  8. ui设计和python哪个容易学_UI设计与平面设计哪个好学呢?
  9. Java 冬令时-夏令时转换方法
  10. ajax瀑布流布局,懒加载 瀑布流布局