Oracle 21c 一時テーブルを作成するサンプル
環境
Windows 11 Pro 64bit
Oracle Database 21c Express Edition
構文
# セッション終了でデータを削除
CREATE GLOBAL TEMPORARY TABLE テーブル名
(
列名 データ型,
列名 データ型,
中略
)ON COMMIT PRESERVE ROWS;
# トランザクション終了でデータを削除
CREATE GLOBAL TEMPORARY TABLE テーブル名
(
列名 データ型,
列名 データ型,
列名 データ型,
.
.
)ON COMMIT PRESERVE ROWS;
# セッション終了でデータを削除
CREATE GLOBAL TEMPORARY TABLE テーブル名
(
列名 データ型,
列名 データ型,
中略
)ON COMMIT PRESERVE ROWS;
# トランザクション終了でデータを削除
CREATE GLOBAL TEMPORARY TABLE テーブル名
(
列名 データ型,
列名 データ型,
列名 データ型,
.
.
)ON COMMIT PRESERVE ROWS;
# セッション終了でデータを削除 CREATE GLOBAL TEMPORARY TABLE テーブル名 ( 列名 データ型, 列名 データ型, 中略 )ON COMMIT PRESERVE ROWS; # トランザクション終了でデータを削除 CREATE GLOBAL TEMPORARY TABLE テーブル名 ( 列名 データ型, 列名 データ型, 列名 データ型, . . )ON COMMIT PRESERVE ROWS;
使用例1
一時テーブル「TESTTMP」を作成します。
CREATE GLOBAL TEMPORARY TABLE TESTTMP
(
id NUMBER(1) PRIMARY KEY,
name VARCHAR2(50)
) ON COMMIT PRESERVE ROWS;
使用例2
SQL*Plusからログインして、一時テーブルにデータを作成します。
> sqlplus testuser/pwd@SAMPLEPDB
SQL> INSERT INTO TESTTMP VALUES (1,'cft');
1行が作成されました。
SQL> SELECT * FROM TESTTMP;
ID
----------
NAME
--------------------------------------------------------------------------------
1
cft
> sqlplus testuser/pwd@SAMPLEPDB
SQL> INSERT INTO TESTTMP VALUES (1,'cft');
1行が作成されました。
SQL> SELECT * FROM TESTTMP;
ID
----------
NAME
--------------------------------------------------------------------------------
1
cft
> sqlplus testuser/pwd@SAMPLEPDB SQL> INSERT INTO TESTTMP VALUES (1,'cft'); 1行が作成されました。 SQL> SELECT * FROM TESTTMP; ID ---------- NAME -------------------------------------------------------------------------------- 1 cft