- 浏览: 93922 次
- 性别:
- 来自: 北京
文章分类
最新评论
1.语法 在Oracle中,可以创建以下两种临时表: 1)会话特有的临时表 CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> ) ON COMMIT PRESERVE ROWS; 2)事务特有的临时表 CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> ) ON COMMIT DELETE ROWS; CREATE GLOBAL TEMPORARY TABLE MyTempTable 所建的临时表虽然是存在的,但是如果insert一条记录然后用别的连接登上去select,记录是空的。 --ON COMMIT DELETE ROWS说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行) --ON COMMIT PRESERVE ROWS说明临时表是会话指定,当中断会话时ORACLE将截断表。 2.动态创建 create or replace procedure pro_temp(v_col1 varchar2,v_col2 varchar2) as v_num number; begin select count(*) into v_num from user_tables where table_name='T_TEMP'; --create temporary table if v_num<1 then execute immediate 'CREATE GLOBAL TEMPORARY TABLE T_TEMP ( COL1 VARCHAR2(10), COL2 VARCHAR2(10) ) ON COMMIT delete ROWS'; end if; --insert data execute immediate 'insert into t_temp values('''||v_col1||''','''||v_col2||''')'; execute immediate 'select col1 from t_temp' into v_num; dbms_output.put_line(v_num); execute immediate 'delete from t_temp'; commit; execute immediate 'drop table t_temp'; end pro_temp; 测试: 15:23:54 SQL> set serveroutput on 15:24:01 SQL> exec pro_temp('11','22'); 11 PL/SQL过程已成功完成。 已用时间: 00: 00: 00.79 15:24:08 SQL> desc t_temp; ERROR: ORA-04043:对象t_temp不存在 3.特性和性能 (与普通表和视图的比较)临时表只在当前连接内有效临时表不建立索引,所以如果数据量比较大或进行多次查询时,不推荐使用数据处理比较复杂的时候时表快,反之视图快点在仅仅查询数据的时候建议用游标: open cursor for 'sql clause'。
发表评论
文章已被作者锁定,不允许评论。
-
oracle体系结构
2010-08-26 11:42 1029ORACLE 体系结构 前言 很多人大楷都 ... -
详解:oracle数据库名、数据库实例名、数据库域名、数据库服务名
2010-08-26 11:28 1636数据库名(db_name) 数据 ... -
数据库优化设计方案
2010-02-24 23:39 10271 引言 数据库优化 ... -
oracle中将数据导入到指定表空间
2009-08-26 14:53 3026--创建临时表空间 create temporary ... -
使用pl/sql导出数据
2009-08-25 21:29 7645如果只导出表的结构(建表语句),不导出表的数据,可用Tools ... -
Oracle 数据库创建表空间、创建用户指定表空间
2009-08-25 17:17 1683//创建临时表空间 create temp ... -
oracle数据库文件中的导入\导出(imp/exp命令)
2009-03-11 15:36 1707Oracle数据导入导出im ... -
IP地址变化后Oracle 10g如何才能不受影响
2009-03-11 15:28 1332解决步骤如下: 1、控制面板--->添加硬件 ... -
完全卸载Oracle
2009-03-11 15:26 1543软件环境: 1、Windows XP + Oracle 10 ... -
Oracle 游标使用大全
2008-11-03 11:20 1287查询 SELECT语句用于从数据库中查询数据,当在 ... -
oracle中序列的使用
2008-11-03 10:50 12941.基本语法 (1) 创建序列命 CREATE SEQUE ... -
用存储过程重置序列
2008-11-03 10:46 1155SQL> create sequence seq_1 ... -
oracle基础
2008-11-03 10:44 861建表,删表 create table temp_sea ... -
关于Oracle与SqlServer中获取所有字段、主键、外键的sql语句
2008-11-03 10:40 2201--oracle: --查询某个表中的字段名称、类型、精 ... -
SQL Server和Oracle的常用函数对比
2008-11-03 10:36 1457-------------------------数学函数 ... -
在数据库中对树进行遍历查询
2008-11-03 10:32 774目 录 一、测试准备 二、实现各种查询要求 三、要点总结 ... -
浅谈数据库设计技巧
2008-11-03 10:30 747说到数据库,我认 ... -
数据库设计的黄金经验
2008-11-03 10:28 778通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为 ... -
DBA日常sql列表
2008-11-03 10:25 773--监控索引是否使用 alter inde ... -
三种Windows版本下教你如何卸载Oracle
2008-11-03 10:23 1049在卸载Oracle时删不干净,搞的要重装系统,本人在工作中总结 ...
相关推荐
临时表的应用 1)、当某一个SQL语句关联的表...可以采用将大表进行分拆并且得到比较小的结果集合存放在临时表中。 2)、程序执行过程中可能需要存放一些临时的数据,这些数据在整个程序的会话过程中都需要用的等等。
### 数据库临时表详解 #### 一、临时表的概念与作用 在数据库操作过程中,我们经常会遇到需要存储一些中间结果或临时数据的情况。...在实际开发和运维工作中,掌握临时表的使用方法是非常重要的。
- 新创建的会话将使用此临时表空间作为其默认临时表空间。 6. **更改表空间的状态** ```sql ALTER TABLESPACE test READ WRITE; ``` **解释**: - 更改表空间的状态为读写模式。 - 表空间可以处于不同的...
在Oracle数据库中,临时数据的处理是数据库管理的重要组成部分,特别是在执行涉及排序、分组、汇总和索引等复杂操作时。临时数据主要是由这些操作产生的中间结果,例如,当用户对数据进行Order BY排序时,数据库需要...
### 一、Oracle临时表空间简介 Oracle数据库中的临时表空间主要用于存储临时对象,如排序操作、汇总统计、临时表等。这些操作在执行完毕后,数据会自动从临时表空间中清除,不会永久保存。然而,在高并发或大容量...
3. 临时表空间无法扩展:临时表空间满时,数据库操作可能暂停。确保有足够的磁盘空间,并合理设置临时表空间的自动扩展属性。 二、数据库功能/性能异常 4. RMAN备份挂起:未及时打补丁可能导致RMAN备份过程中出现...
给定的存储过程“UpdateTempInventoryM”旨在更新一个名为“tmp_inventorym”的临时表,该表汇总了不同业务操作(如收货、发货、借出等)后的库存状态。过程接收五个参数:`DateMMin`、`HasBlin`、`HasQtyin`、`...
本压缩包“ORACLE-select-query.rar”专注于讲解Oracle数据库中的查询技术,特别是多表查询、子查询以及高级子查询。下面将详细探讨这些关键知识点。 首先,基础查询SQL语句是所有数据库操作的基础,它涵盖了SELECT...
在Oracle数据库中,根据不同的权限和需求,可以使用以下几种方法来查询表名: 1. **查询当前用户所拥有的表:** ```sql SELECT table_name, tablespace_name, temporary FROM user_tables; ``` 这条SQL语句...
题目中提到了全局临时表的创建和使用,这是一种在会话期间可见但在会话结束时会被自动删除的特殊类型表。可以通过`ON COMMIT DELETE ROWS`或`ON COMMIT PRESERVE ROWS`选项控制其行为。全局临时表非常适合存储临时...
在描述中提到的场景中,有几种不同的方法可以实现数据统计,包括通过程序处理、使用临时表和包、标准SQL的UNION以及Oracle特有的分析函数。每种方法都有其优缺点。例如,程序处理方法与数据库无关,但增加了开发工作...
**使用方法:** - 在SQL语句中使用`:variable`的形式代替具体的值,例如:`SELECT * FROM table WHERE id = :id`。 - 在Java等编程语言中,通过PreparedStatement等API传递参数。 #### Sequence **概念及作用:** ...
通过本文档的学习,您应该已经掌握了Oracle SQL中最基本的SELECT语句的使用方法。这些基础知识对于任何希望进一步探索Oracle数据库技术的人来说都是至关重要的。随着经验的积累,您可以逐渐学习更复杂的SQL概念和...
有近20年使用Oracle技术产品以及Oracle数据库管理员/Oracle数据库应用管理员的经验,是真正应用集群、性能调优以及数据库内部属性方面的专家。同时是一位演讲家及Oracle ACE。 JARED STILL 从1994年就开始使用...
6.6.4 查询临时表空间中临时文件的信息 6.6.5 查询表空间的空闲空间大小 6.6.6 查询数据段信息 6.7 在OEM中管理表空间 6.7.1 创建(永久)表空间 6.7.2 扩展表空间 6.7.3 修改表空间的空间使用...
根据提供的信息,我们可以总结出以下关于Oracle的相关知识点...以上内容概述了Oracle数据库的基础概念、管理工具、内存结构以及SQLPlus的基本使用方法。这些知识点对于学习Oracle数据库管理和维护具有重要的指导意义。
3. 高级数据定义语言(DDL):在创建和修改数据库结构时涉及的高级概念,例如动态SQL、索引的创建与管理、临时表的使用、分区技术等。 4. 视图、存储过程和函数:深入了解如何创建和管理数据库视图,以及编写存储过程...