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(관리형) 방식을 고를 수 있습니다.