>  기사  >  데이터 베이스  >  Oracle 임시 테이블의 자세한 예

Oracle 임시 테이블의 자세한 예

WBOY
WBOY앞으로
2022-06-29 17:48:302452검색

이 글은 트랜잭션 수준 임시 테이블, 세션 수준 임시 테이블 등 임시 테이블과 관련된 문제를 주로 소개하는 Oracle에 대한 관련 지식을 제공합니다. 모두에게 도움이 되기를 바랍니다.

Oracle 임시 테이블의 자세한 예

추천 튜토리얼: "Oracle Video Tutorial"

1. Oracle 임시 테이블

임시 테이블은 특별한 종류의 테이블입니다. 특정(또는 여러) 테이블의 데이터 배치를 반복적으로 조작해야 할 경우, 배치 데이터에 대한 임시 테이블을 생성하면 작업이 단순화되고 효율성이 향상될 수 있습니다!

기본 구문:

create global temporary table 临时表名(colum,colum,.......)on commit delete rows;on commit preserve rows;

설명:

  • 커밋 시 행 삭제; 이는 데이터 행이 현재 트랜잭션에서만 표시된다는 의미이며, 이는 트랜잭션이 제출된 후에 데이터 행이 사라짐을 의미합니다. 트랜잭션 수준 임시 테이블이 생성됩니다.
  • 커밋 시 행 보존은 데이터 행이 현재 세션에서만 표시됨을 나타냅니다. 세션 수준 임시 테이블이 생성됩니다.

2. 예시 데모

2.1, 트랜잭션 수준 임시 테이블

-- 创建事务级临时表 tmp_user 注:on commit delete rows 可省略create global temporary table tmp_user (
  user_id   varchar2(10),
  user_name varchar2(20)) on commit delete rows;


2.2, 세션 수준 임시 테이블

-- 创建会话级临时表 tmp_user1create global temporary table tmp_user1 (
  user_id   varchar2(10),
  user_name varchar2(20))on commit preserve rows;

3. 테이블 설명

  • 임시 테이블의 데이터는 세션 또는 트랜잭션을 기반으로 하며 다른 세션에서는 액세스할 수 없습니다.
  • 임시 테이블을 트랜잭션이나 세션 전용으로 사용할 수 있습니다. 트랜잭션별 임시 테이블의 경우 데이터는 트랜잭션 중에 존재하고, 세션별 임시 테이블의 경우 데이터는 세션 중에 존재합니다. 두 경우 모두 세션에 의해 삽입된 데이터는 해당 세션에만 적용됩니다. 각 세션은 자신의 데이터만 보고 수정할 수 있습니다. 따라서 임시 테이블의 데이터는 DML 잠금을 획득할 수 없습니다

권장 튜토리얼: "Oracle Video Tutorial"

위 내용은 Oracle 임시 테이블의 자세한 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제