oracle创建临时表(oracle创建临时表好处)

本篇文章给大家谈谈oracle创建临时表,以及oracle创建临时表好处对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Oracle临时表

有两种类型的临时表:

会话级的临时表

事务级的明巧升临时表

1)

会话级的临时表因为这这个临时表中的数据和你的当前会话有关系,当你当前SESSION

不退出的情况下,临时表中的数据就还存在,而当你退出当前SESSION

的时候,临时表中的数据就全部没有了,当然这个时候你如果以另外一个SESSION 登陆的时候是看不到另外一个SESSION

中插入到临时表中的数据的。即两个不同的SESSION 所插入的数据是互不相干激老的。当某一个SESSION

退出之后临时表中的数据就被截断(truncate table ,即数据清空)了。会话级的临时表创建方法:

Create Global Temporary Table Table_Name

(Col1 Type1,Col2 Type2...) On Commit Preserve Rows ;

举例:

create global temporary table Student

(Stu_id Number(5),

Class_id Number(5),

Stu_Name Varchar2(8),

Stu_Memo varchar2(200)) on Commit Preserve Rows ;

2) 事务级临时表是指该临时表与事务相关,当进行事务提交或者事务回滚的时候,临时表中的数据将自行被截断,其他的内容和会话级的临时表的一宽冲致(包括退出SESSION 的时候,事务级的临时表也会被自动截断)。事务级临时表的创建方法:

Create Global Temporary Table Table_Name

(Col1 Type1,Col2 Type2...) On Commit Delete Rows ;

举例:

create global temporary table Classes

(Class_id Number(5),

Class_Name Varchar2(8),

Class_Memo varchar2(200)) on Commit delete Rows ;

3) 两中类型临时表的区别

会话级临时表采用

on commit preserve rows ;而事务级则采用 on commit delete rows

;用法上,会话级别只有当会话结束临时表中的数据才会被截断,而且事务级临时表则不管是 commit 、 rollback

或者是会话结束,临时表中的数据都将被截断

4 )什么时候使用临时表

1 )、当某一个 SQL 语句关联的表在 2 张及以上,并且和一些小表关联。可以采用将大表进行分拆并且得到比较小的结果集合存放在临时表中

2 )、程序执行过程中可能需要存放一些临时的数据,这些数据在整个程序的会话过程中都需要用的等等。

3 .临时表的不足之处

1 )不支持 lob 对象,这也许是设计者基于运行效率的考虑,但实际应用中确实需要此功能时就无法使用临时表了。

2 )不支持主外键关系

Oracle快速创建表空间及用户授权

--查看数据文件位置

Select * FROM DBA_DATA_FILES ;

查询结果粗辩中有dbf文件的存放路径,复制最后一个斜杠/前的路径后续备用,或者使用其他自定义路径

/*分为四步 */

/戚岩*第1步:创建临时表空间*/

create temporary tablespace boyapay _temp

tempfile '/u01/app/oracle/oradata/paydb01/boyapay_temp.dbf'

size 50 m

autoextend on

next 50 m maxsize 20480 m

extent management local;

/*第2步:创建数据表空间 */

create tablespace boyapay _data

logging

datafile ' /u01/app/oracle/oradata/paydb01 / boyapay _data.dbf'

size 50 m

autoextend on

next 50 m maxsize 20480 m

extent management local;

/*第3步:创建用户并指定表空间 密码是root */

create user boyapay identified by "1q2w3e4r"

default tablespace boyapay _data

temporary tablespace boyapay _temp ;

/*第4步:给用户授高凳御予权限 */

grant connect, resource, dba to boyapay;

[img]

Oracle临时表创建的基本语句是什么?

Oracle创建临辩埋时表的语法如下兆灶尺:

CREATE GLOBAL TEMPORARY TABLE table

"(" column datatype [DEFAULT expr] [{ NULL | NOT NULL}]

[, column datatype [DEFAULT expr] [ {NULL | NOT NULL} ]... ")"

ON COMMIT {DELETE | PRESERVE } ROWS ;

在Oracle中,可以创建以下两种临时表:

1) 会话特有的临时表

CREATE GLOBAL TEMPORARY ( )

ON COMMIT PRESERVE ROWS;

2) 事务特有的临时表

族高CREATE GLOBAL TEMPORARY ( )

ON COMMIT DELETE ROWS;

CREATE GLOBAL TEMPORARY TABLE MyTempTable

Oracle中的临时表用法汇总

语法 在Oracle中 可以创建以下两种临时表 ) 会话特有的临时表 CREATE GLOBAL TEMPORARY( ) ON MIT PRESERVE ROWS ) 事务特有的临时表  吵唤岩 CREATE GLOBAL TEMPORARY( ) ON MIT DELETE ROWS CREATE GLOBAL TEMPORARY TABLE MyTempTable 所建的链消临时表虽然是存在的 但是如果insert 一条记录然后用别的连接登上去select 记录是空的 ON MIT DELETE ROWS 说明临时表是事务指定 每次提交后ORACLE将截断表(删除全部行) ON MIT PRESERVE ROWS 说明临时表是会话指定 当中断会话时ORACLE将截断表 动态创建 create or replace procedure pro_temp(v_col varchar v_col varchar ) as v_num number; begin select count(*) into v_num from user_tables where table_name= T_TEMP ; create temporary table if v_num then execute immediate CREATE GLOBAL TEMPORARY TABLE T_TEMP ( COL VARCHAR ( ) COL VARCHAR ( ) ) ON MIT delete ROWS ; end if; insert data execute immediate insert into t_temp values( v_col v_col ) ; execute immediate select col from t_temp into v_num; dbms_output put_line(v_num); execute immediate delete from t_temp ; mit; execute immediate drop table t_temp ; end pro_temp; 测试: : : SQL set serveroutput on : : SQL exec pro_temp( ); PL/SQL 过程已成功完成 已用时间: : : : : SQL desc t_temp; ERROR ORA : 对象 t_temp 不存在           通过查询创建临时表          create proecdure name_pro      as      str varchar ( );      begin            str:= CREATE GLOBAL TEMPORARY TABLE TABLENAME ON MIT PRESERVE ROWS as  select  *            from other_tables ;             execute immediate str;      end; 特性和性能(与普通表和视图的比较) 临时表只在当前连接内有效 临时表不建立索引 所以如果数据量比较大或进行多次查询升御时 不推荐使用 数据处理比较复杂的时候时表快 反之视图快点 在仅仅查询数据的时候建议用游标: open cursor for sql clause ;  lishixinzhi/Article/program/Oracle/201311/18537

关于oracle创建临时表和oracle创建临时表好处的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

相关阅读

  • 数据存储(数据存储华为数据存储)

    数据存储(数据存储华为数据存储)

    数据存储在IT技术中扮演着非常重要的角色,它指的是将数据保存在计算机或服务器的存储设备中,以便日后进行访问和处理。数据存储是计算机系统中的一个基本组成部分,对于企业和个人用户来说都是至关重要的。在本文中,我们将深入探讨数据存储的重要性、常见...

    2024.04.12 18:00:34作者:intanet.cnTags:数据存储
  • 包含awsredis的词条

    包含awsredis的词条

    AWS Redis是一种云端的Redis管理服务,能够提供高性能的内存数据库,用来加速应用程序、增加应用程序缓存、实现消息传递、实现任务队列等功能。AWS Redis可以帮助开发者更轻松地构建可靠、高性能的应用程序。# 什么是AWS Red...

    2024.04.12 16:22:18作者:intanet.cnTags:awsredis
  • mongodb怎么读(mongodb中文)

    mongodb怎么读(mongodb中文)

    MongoDB是一种流行的NoSQL数据库管理系统,它使用文档存储结构,为开发人员提供了灵活性和性能。本文将介绍如何读取MongoDB中的数据。# 连接到MongoDB数据库首先,我们需要连接到MongoDB数据库。可以使用MongoDB官...

    2024.04.12 16:11:11作者:intanet.cnTags:mongodb怎么读
  • 关于redishdel的信息

    关于redishdel的信息

    简介:Redishdel是一种IT技术工具,被广泛应用于数据存储和缓存管理领域。它以高效的内存数据库系统著称,通过使用快速的数据结构和灵活的命令功能,帮助用户提升数据处理效率和性能。多级标题:1. Redishdel的特点2. Redish...

    2024.04.12 16:00:42作者:intanet.cnTags:redishdel
  • mysqlupdate(MySQL update set)

    mysqlupdate(MySQL update set)

    简介:MySQL是一种广泛使用的开源关系型数据库管理系统,用来管理和存储数据。在数据库操作中,数据库的更新是很常见的操作之一。而MySQL提供了多种更新数据的方法,其中包括使用UPDATE语句进行数据更新操作。本文将介绍MySQL更新数据的...

    2024.04.12 09:55:26作者:intanet.cnTags:mysqlupdate
  • mysql服务(mysql服务怎么删除)

    mysql服务(mysql服务怎么删除)

    **简介:**MySQL是一种关系型数据库管理系统,广泛应用于互联网应用和大型企业级系统中。它是开源软件,具有稳定性高、性能优异、功能强大等特点,被广泛应用于各种企业级系统的数据存储和管理中。**多级标题:**一、MySQL服务的架构二、M...

    2024.04.12 02:22:25作者:intanet.cnTags:mysql服务
  • 分布式系统架构(分布式的架构)

    分布式系统架构(分布式的架构)

    分布式系统架构简介:随着IT技术的不断发展,分布式系统架构在当今互联网行业中变得越来越重要。分布式系统架构是将系统的各个部分分散在不同的计算机或服务器上,这样可以提高系统的可靠性、可扩展性和性能。本文将详细说明分布式系统架构的定义、特点和应...

    2024.04.11 18:33:28作者:intanet.cnTags:分布式系统架构
  • oracle8.1.7下载(oracle最新版本下载)

    oracle8.1.7下载(oracle最新版本下载)

    标题:Oracle 8.1.7下载简介:Oracle 8.1.7是一款被广泛使用的数据库管理系统软件,它具有稳定性高、性能优异、功能强大等特点。许多企业和开发者都选择使用Oracle 8.1.7来管理他们的数据库。在本文中,将介绍如何下载O...

    2024.04.11 18:22:14作者:intanet.cnTags:oracle8.1.7下载