HPL/SQL - DECLARE TEMPORARY TABLE 문

HPL/SQL - DECLARE TEMPORARY TABLE 문

DECLARE TEMPORARY TABLE 문은 현재 세션에서 사용할 임시 테이블을 정의해요. 세션 안에서만 유지되는 임시 데이터를 다룰 때 유용합니다.

출처: 문서

본문

DECLARE TEMPORARY TABLE 문은 현재 세션에 대한 임시 테이블을 정의할 수 있게 해줍니다.

구문(Syntax):

DECLARE [GLOBAL] TEMPORARY TABLE table_name
(
   column_name data_type [NULL | NOT NULL]
   [, ...]
)
[ ON COMMIT DELETE ROWS | ON COMMIT PRESERVE ROWS]

호환 옵션 (Compatibility Options)

다른 데이터베이스와의 호환을 위해 다음 옵션을 지원합니다:

IBM DB2:

IN tablespace_name
WITH REPLACE
DISTRIBUTE BY HASH (col, ...)
LOGGED | NOT LOGGED

임시 테이블 지원이 HPL/SQL에서 어떻게 구현되는지에 대한 자세한 내용은 Native and Managed Temporary Tables를 참고하세요.

예제(Example):

관리형 임시 테이블을 만들고 다른 SQL 문에서 사용하기:

SET hplsql.temp.tables = managed;

DECLARE TEMPORARY TABLE temp1
(
   c1 INT,
   c2 STRING
);

INSERT INTO temp1 SELECT 1, 'A' FROM dual;

SELECT * FROM temp1;

호환성(Compatibility): IBM DB2

참고(See also):

  • Native and Managed Temporary Tables
  • CREATE LOCAL TEMPORARY TABLE
  • CREATE VOLATILE TABLE

더 알아보기 (Learn more)

임시 테이블은 세션/트랜잭션 범위에서만 존재하는 테이블이에요. ON COMMIT DELETE ROWS(커밋 시 행 삭제)와 ON COMMIT PRESERVE ROWS(커밋 후에도 보존) 중 선택할 수 있고, hplsql.temp.tables 설정으로 native(고유) 또는 managed(관리형) 방식을 고를 수 있습니다.