Oracle 21c 一時テーブルを作成するサンプル

環境
Windows 11 Pro 64bit
Oracle Database 21c Express Edition

構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# セッション終了でデータを削除
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からログインして、一時テーブルにデータを作成します。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
> 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

 

Oracle 21c

Posted by arkgame