oracle臨時表怎么建 創(chuàng)建臨時表oracle

在oracle可以創(chuàng)建臨時表嗎

oracle可以創(chuàng)建臨時表,ORACLE臨時表有兩種類型:會話級的臨時表和事務級的臨時表。

洪湖網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)公司。

1)ON COMMIT DELETE ROWS

它是臨時表的默認參數(shù),表示臨時表中的數(shù)據(jù)僅在事物過程(Transaction)中有效,當事物提交(COMMIT)后,臨時表的暫時段將被自動截斷(TRUNCATE),但是臨時表的結構 以及元數(shù)據(jù)還存儲在用戶的數(shù)據(jù)字典中。如果臨時表完成它的使命后,最好刪除臨時表,否則數(shù)據(jù)庫會殘留很多臨時表的表結構和元數(shù)據(jù)。

2)ON COMMIT PRESERVE ROWS

它表示臨時表的內(nèi)容可以跨事物而存在,不過,當該會話結束時,臨時表的暫時段將隨著會話的結束而被丟棄,臨時表中的數(shù)據(jù)自然也就隨之丟棄。但是臨時表的結構以及元數(shù)據(jù)還存儲在用戶的數(shù)據(jù)字典中。如果臨時表完成它的使命后,最好刪除臨時表,否則數(shù)據(jù)庫會殘留很多臨時表的表結構和元數(shù)據(jù)。

1:會話級的臨時表的數(shù)據(jù)和你當前會話有關系,當前SESSION不退出的情況下,臨時表中的數(shù)據(jù)就還存在,臨時表的數(shù)據(jù)只有當你退出當前SESSION的時候才被截斷(TRUNCATE TABLE),如下所示:

會話級別的臨時表創(chuàng)建:

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:事務級的臨時表(默認),這種類型的臨時表與事務有關,當進行事務提交或者事務回滾的時候,臨時表的數(shù)據(jù)將自行截斷,即當COMMIT或ROLLBACK時,數(shù)據(jù)就會被TRUNCATE掉,其它的特性和會話級的臨時表一致。

事務級臨時表的創(chuàng)建方法:

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臨時表創(chuàng)建的基本語句是什么

Oracle創(chuàng)建臨時表的語法如下:

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中,可以創(chuàng)建以下兩種臨時表:

1)

會話特有的臨時表

CREATE

GLOBAL

TEMPORARY

(

)

ON

COMMIT

PRESERVE

ROWS;

2)

事務特有的臨時表

CREATE

GLOBAL

TEMPORARY

(

)

ON

COMMIT

DELETE

ROWS;

CREATE

GLOBAL

TEMPORARY

TABLE

MyTempTable

Oracle 10g中如何創(chuàng)建表

從數(shù)據(jù)庫用戶角度看,數(shù)據(jù)庫中的數(shù)據(jù)是以表、視圖等方式儲存的。那么用戶自己是怎么創(chuàng)建表的呢?簡單的有兩種方式,一種是用戶可以在Oracle提供的SQL*Plus中使用CREATE TABLE語句創(chuàng)建表,也可以通過OEM圖形化工具創(chuàng)建表。

工具/材料

電腦

Oracle 10g

CREATE TABLE創(chuàng)建表

首先用戶必須要有CREATE TABLE系統(tǒng)權限,并且只能在自己的模式中創(chuàng)建表,圖中的例子使用CREATE TABLE語句在當前模式中創(chuàng)建了一個共有5列的表:表的名稱為employees,包含 emp_id, name, job,age,dep_id 等5列,后面的number、 varchar2、等為數(shù)據(jù)類型,括號里面為長度。

如果想要在其他模式中創(chuàng)建表,則必須在表名前加上模式名,并且用戶還要有CREATE ANY TABLE系統(tǒng)權限,例如圖中語句將在SYSTEM模式中創(chuàng)建employees1表

OEM創(chuàng)建表

在OEM主界面中選擇【管理】選項卡,進入如圖所示的數(shù)據(jù)庫管理界面;然后在“數(shù)據(jù)庫對象”中單擊【表】選項。

系統(tǒng)進入管理表界面,在該頁面中單擊【創(chuàng)建】按鈕,進入如圖所示的“創(chuàng)建表的組織形式”界面。在該界面中用戶可以選擇創(chuàng)建的表類型---標準表、臨時表或索引表。

在選擇創(chuàng)建的表類型后,單擊【繼續(xù)】按鈕,進入如圖所示的“創(chuàng)建表”界面。在“名稱”文本框中輸入要創(chuàng)建表的名稱。系統(tǒng)在“方案”文本框中顯示當前模式,這表示新創(chuàng)建的表將屬于該模式。

在“創(chuàng)建表”頁面中選擇“約束條件”選項卡,進入如圖所示的“表約束條件”頁面。該頁面中用戶可以為創(chuàng)建的表定義約束條件,包括主鍵約束(PRIMARY)、唯一約束(UNIQUE)、檢查約束(CHECK)和外鍵(FOREIGN)約束。

設置儲存參數(shù),選擇“儲存”選項卡,進入如圖所示的儲存設置界面,最后保存表格,單機【確定】按鈕,系統(tǒng)會根據(jù)用戶對表的設置,創(chuàng)建一個新表。

Oracle臨時表創(chuàng)建的基本語句是什么?

Oracle創(chuàng)建臨時表的語法如下:

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中,可以創(chuàng)建以下兩種臨時表:

1) 會話特有的臨時表

CREATE GLOBAL TEMPORARY ( )

ON COMMIT PRESERVE ROWS;

2) 事務特有的臨時表

CREATE GLOBAL TEMPORARY ( )

ON COMMIT DELETE ROWS;

CREATE GLOBAL TEMPORARY TABLE MyTempTable

分享標題:oracle臨時表怎么建 創(chuàng)建臨時表oracle
文章網(wǎng)址:http://muchs.cn/article8/hgspop.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、網(wǎng)站內(nèi)鏈、網(wǎng)站營銷、App設計App開發(fā)、用戶體驗

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營