Oracle 임시 테이블 생성 및 관리
오라클 데이터베이스에서는 쿼리 실행 중 중간 결과를 저장하기 위해 임시 테이블이 사용됩니다. 다른 데이터베이스와 달리 Oracle의 임시 테이블은 사용 후 자동으로 삭제되지 않습니다.
전역 임시 테이블 생성
전역 임시 테이블은 데이터베이스의 모든 세션에서 볼 수 있으며 해당 테이블을 생성한 세션이 종료될 때까지 해당 데이터가 존재합니다. 전역 임시 테이블을 생성하려면 다음 구문을 사용하십시오.
<code class="language-sql">CREATE GLOBAL TEMPORARY TABLE <表名> ( <列名> <数据类型> ) ON COMMIT PRESERVE ROWS;</code>
ON COMMIT PRESERVE ROWS
절은 트랜잭션이 커밋된 후에도 테이블 데이터가 유지되도록 보장합니다.
임시 테이블 채우기
임시 테이블을 생성한 후 다음과 같이 INSERT
문을 사용하여 테이블을 채울 수 있습니다.
<code class="language-sql">INSERT INTO <表名> SELECT * FROM <源表>;</code>
또는 CREATE...AS SELECT
문을 사용하여 단일 문으로 임시 테이블을 만들고 채울 수 있습니다.
<code class="language-sql">CREATE GLOBAL TEMPORARY TABLE <表名> AS SELECT * FROM <源表>;</code>
개인 임시 테이블(Oracle 18c 이상)
Oracle 18c에서는 메모리에 저장되고 현재 세션에서만 사용할 수 있는 개인 임시 테이블을 도입했습니다. 다음 테이블은 동적으로 생성되고 삭제됩니다.
<code class="language-sql">CREATE PRIVATE TEMPORARY TABLE <表名> AS SELECT * FROM <源表>;</code>
임시 테이블 남용
임시 테이블은 유용하지만 Oracle에서는 남용될 수도 있습니다. 임시 테이블을 과도하게 사용하면 성능 문제와 리소스 경합이 발생할 수 있습니다. 오용을 방지하려면 임시 테이블을 주의해서 사용하고 가능하면 인라인 뷰 사용을 고려하세요.
위 내용은 Oracle에서 임시 테이블을 어떻게 생성하고 관리합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!