oracle临时表怎么建 创建临时表oracle

在oracle可以创建临时表吗

oracle可以创建临时表,ORACLE临时表有两种类型:会话级的临时表和事务级的临时表。

洪湖网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联公司于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

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临时表创建的基本语句是什么

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 10g中如何创建表

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

工具/材料

电脑

Oracle 10g

CREATE TABLE创建表

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

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

OEM创建表

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

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

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

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

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

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
本文来源:http://pwwzsj.com/article/hgspop.html