>데이터 베이스 >Oracle >Oracle 저장 프로시저의 임시 테이블은 무엇입니까?

Oracle 저장 프로시저의 임시 테이블은 무엇입니까?

WBOY
WBOY원래의
2022-06-13 15:16:384153검색

오라클에서 저장 프로시저의 임시 테이블은 데이터를 임시로 저장하는 데 사용되는 테이블입니다. 트랜잭션이나 세션이 끝나면 임시 테이블의 데이터는 데이터베이스에 의해 자동으로 지워집니다. 트랜잭션 수준 임시 테이블과 세션 수준 임시 테이블의 경우 생성 구문은 "커밋 보존/삭제 행에 전역 임시 테이블 임시 테이블 이름 만들기"입니다.

Oracle 저장 프로시저의 임시 테이블은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 버전 12c, Dell G3 컴퓨터.

oracle 저장 프로시저의 임시 테이블

임시 테이블 구문:

create global temporary table 临时表名 on commit preserve/delete rows  
--preserve:SESSION级的临时表,delete:TRANSACTION级的临时表.

1. 기능: 데이터를 '일시적으로' 저장하는 데 사용됩니다.

(1) 트랜잭션 또는 세션이 종료되면 이 임시 테이블 ' Data'는 데이터베이스에 의해 자동으로 지워집니다

(2) 그러나 '테이블 구조'는 여전히 유지됩니다

2. 카테고리: '수명주기의 차이'

(1) 트랜잭션 수준 임시 테이블: 커밋 시 행 삭제, 커밋 시 레코드 '삭제'(기본값)

(2) 세션 수준 임시 테이블: 커밋 시 행을 '저장'하고, 세션 종료 시 레코드를 '삭제'합니다.

3.

(1) 임시 테이블 처리 효율성은 일반 테이블보다 높습니다. 4. 다음 테스트에서는 임시 테이블이 생성된 후 정보 쿼리

SESSION 수준의 임시 테이블 데이터가 전체 테이블에 존재합니다. 이 SESSION이 끝날 때까지 SESSION; TRANACTION이 끝난 후 TRANSACTION 수준 임시 테이블 데이터가 사라지는 동안, 즉 COMMIT/ROLLBACK 또는 종료 SESSION은 TRANACTION 임시 테이블 데이터를 지웁니다.

세션이 종료되거나 사용자가 커밋 및 롤백 트랜잭션을 제출하면 임시 테이블의 데이터가 자동으로 지워지지만 임시 테이블의 구조와 메타데이터는 여전히 사용자의 데이터 사전에 저장됩니다. 세션이 종료되거나(사용자가 정상적으로 종료하거나, 사용자가 비정상적으로 종료하거나, ORACLE 인스턴스가 충돌함) 트랜잭션이 종료되면 Oracle은 이 세션의 테이블에 대해 TRUNCATE 문을 실행하여 임시 테이블 데이터를 지우지만 데이터는 지우지 않습니다. 다른 세션의 임시 테이블에서. 임시 테이블은 트리거를 사용할 수 있습니다.

추천 튜토리얼: "

Oracle Video Tutorial

"

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.