oracle如何创建临时表 oracle创建临时表 sql

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

Oracle创建临时表的语法如下:

坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都柴油发电机小微创业公司专业提供成都企业网站建设营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。

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可以创建临时表,ORACLE临时表有两种类型:会话级的临时表和事务级的临时表。

1)ON COMMIT DELETE ROWS

它是临时表的默认参数,表示临时表中的数据仅在事物过程(Transaction)中有效,当事物提交(COMMIT)后,临时表的暂时段将被自动截断(TRUNCATE),但是临时表的结构 以及元数据还存储在用户的数据字典中。如果临时表完成它的使命后,最好删除临时表,否则数据库会残留很多临时表的表结构和元数据。

2)ON COMMIT PRESERVE ROWS

它表示临时表的内容可以跨事物而存在,不过,当该会话结束时,临时表的暂时段将随着会话的结束而被丢弃,临时表中的数据自然也就随之丢弃。但是临时表的结构以及元数据还存储在用户的数据字典中。如果临时表完成它的使命后,最好删除临时表,否则数据库会残留很多临时表的表结构和元数据。

1:会话级的临时表的数据和你当前会话有关系,当前SESSION不退出的情况下,临时表中的数据就还存在,临时表的数据只有当你退出当前SESSION的时候才被截断(TRUNCATE TABLE),如下所示:

会话级别的临时表创建:

CREATE GLOBAL TEMPORARY TABLE TMP_TEST

(

ID NUMBER ,

NAME VARCHAR2(32)

) ON COMMIT PRESERVE ROWS;

CREATE GLOBAL TEMPORARY TABLE TMP_TEST ON COMMIT PRESERVE ROWS

AS

SELECT * FROM TEST;

操作示例:

SQL CREATE GLOBAL TEMPORARY TABLE TMP_TEST

(

ID NUMBER ,

NAME VARCHAR2(32)

) ON COMMIT PRESERVE ROWS;

Table created

SQL INSERT INTO TMP_TEST

SELECT 1, 'kerry' FROM DUAL;

1 row inserted

SQL COMMIT;

Commit complete

SQL SELECT * FROM TMP_TEST;

ID NAME

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

1 kerry

SQL INSERT INTO TMP_TEST

SELECT 2, 'rouce' FROM DUAL;

1 row inserted

SQL ROLLBACK;

Rollback complete

SQL SELECT * FROM TMP_TEST;

ID NAME

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

1 kerry

SQL

2:事务级的临时表(默认),这种类型的临时表与事务有关,当进行事务提交或者事务回滚的时候,临时表的数据将自行截断,即当COMMIT或ROLLBACK时,数据就会被TRUNCATE掉,其它的特性和会话级的临时表一致。

事务级临时表的创建方法:

CREATE GLOBAL TEMPORARY TABLE TMP_TEST

(

ID NUMBER ,

NAME VARCHAR2(32)

) ON COMMIT DELETE ROWS;

CREATE GLOBAL TEMPORARY TABLE TMP_TEST ON COMMIT DELETE AS SELECT * FROM TEST;

SQL CREATE GLOBAL TEMPORARY TABLE TMP_TEST

(

ID NUMBER ,

NAME VARCHAR2(32)

) ON COMMIT DELETE ROWS;

Table created

SQL INSERT INTO TMP_TEST

SELECT 1, 'kerry' FROM DUAL;

1 row inserted

SQL SELECT * FROM TMP_TEST;

ID NAME

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

1 kerry

SQL COMMIT;

Commit complete

SQL SELECT * FROM TMP_TEST;

ID NAME

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

SQL

Oracle 10g中如何创建表

从数据库用户角度看,数据库中的数据是以表、视图等方式储存的。那么用户自己是怎么创建表的呢?简单的有两种方式,一种是用户可以在Oracle提供的SQL*Plus中使用CREATE TABLE语句创建表,也可以通过OEM图形化工具创建表。

工具/材料

电脑

Oracle 10g

CREATE TABLE创建表 01

首先用户必须要有CREATE TABLE系统权限,并且只能在自己的模式中创建表,图中的例子使用CREATE TABLE语句在当前模式中创建了一个共有5列的表:表的名称为employees,包含 emp_id, name, job,age,dep_id 等5列,后面的number、 varchar2、等为数据类型,括号里面为长度。

02

如果想要在其他模式中创建表,则必须在表名前加上模式名,并且用户还要有CREATE ANY TABLE系统权限,例如图中语句将在SYSTEM模式中创建employees1表

OEM创建表 01

在OEM主界面中选择【管理】选项卡,进入如图所示的数据库管理界面;然后在“数据库对象”中单击【表】选项。

02

系统进入管理表界面,在该页面中单击【创建】按钮,进入如图所示的“创建表的组织形式”界面。在该界面中用户可以选择创建的表类型---标准表、临时表或索引表。

03

在选择创建的表类型后,单击【继续】按钮,进入如图所示的“创建表”界面。在“名称”文本框中输入要创建表的名称。系统在“方案”文本框中显示当前模式,这表示新创建的表将属于该模式。

04

在“创建表”页面中选择“约束条件”选项卡,进入如图所示的“表约束条件”页面。该页面中用户可以为创建的表定义约束条件,包括主键约束(PRIMARY)、唯一约束(UNIQUE)、检查约束(CHECK)和外键(FOREIGN)约束。

05

设置储存参数,选择“储存”选项卡,进入如图所示的储存设置界面,最后保存表格,单机【确定】按钮,系统会根据用户对表的设置,创建一个新表。


分享文章:oracle如何创建临时表 oracle创建临时表 sql
转载注明:http://myzitong.com/article/hjhicg.html