ここではOracleのテンポラリテーブル(一時表)の作成について紹介します。
目次
テンポラリテーブルとは
テンポラリテーブル(一時表)は、セッションまたはトランザクションが終了されたときにテーブル内のデータが削除されるテーブルです。
処理の途中でデータを一時的に作成したいときなど、ワークテーブルとして使用します。
テンポラリテーブルを作成する
テンポラリテーブルの作成は、CREATE GLOBAL TEMPORARY TABLE文を使用します。
構文
CREATE GLOBAL TEMPORARY TABLE {スキーマ名}.{テーブル名}(
{列名} {データ型} [{制約}],
{列名} {データ型} [{制約}],
{列名} {データ型} [{制約}]
)
[ON COMMIT DELETE ROWS] | [ON COMMIT PRESERVE ROWS];
[ON COMMIT DELETE ROWS]
トランザクションが終了したとき、テーブル内のレコードが削除されます。デフォルト値です。
[ON COMMIT PRESERVE ROWS]
セッションが終了したとき、テーブル内のレコードが削除されます。
以下はテンポラリテーブル「wk_emp」を作成するCREATE GLOBAL TEMPORARY TABLE文です。
CREATE GLOBAL TEMPORARY TABLE wk_emp (
emp_no VARCHAR2(4) NOT NULL --社員番号
,depart_cd VARCHAR2(3) --部署コード
,emp_name VARCHAR2(20) --氏名
,emp_sex CHAR(1) --性別
,emp_age NUMBER(3, 0) --年齢
,emp_birthday DATE --生年月日
) ON COMMIT PRESERVE ROWS;
テンポラリテーブルを削除する
テンポラリテーブルの削除は、DROP TABLE文を使用します。
構文
DROP TABLE {テーブル名};
以下はテンポラリテーブル「wk_emp」を削除するDROP TABLE文です。
DROP TABLE wk_emp;
以上、Oracleのテンポラリテーブル(一時表)の作成について解説しました。