오라클에서 저장 프로시저의 임시 테이블은 데이터를 임시로 저장하는 데 사용되는 테이블입니다. 트랜잭션이나 세션이 끝나면 임시 테이블의 데이터는 데이터베이스에 의해 자동으로 지워집니다. 트랜잭션 수준 임시 테이블과 세션 수준 임시 테이블의 경우 생성 구문은 "커밋 보존/삭제 행에 전역 임시 테이블 임시 테이블 이름 만들기"입니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 버전 12c, Dell G3 컴퓨터.
임시 테이블 구문:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!