Oracle 자치 사무 pragma autonomoustransaction
CREATE TABLE T_ERROR_LOG(ID VARCHAR(50), ERROR_LOG VARCHAR(50));
-- ( )
CREATE OR REPLACE PROCEDURE PROC_AUTONOMOUS_ERROR_LOG AS
-- ( )
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO T_ERROR_LOG
(ID, ERROR_LOG)
VALUES
(SYS_GUID(), ' ( )');
COMMIT;
END;
-- :
CREATE OR REPLACE PROCEDURE PROC_NONAUTONOMOUS_ERROR_LOG AS
BEGIN
INSERT INTO T_ERROR_LOG
(ID, ERROR_LOG)
VALUES
(SYS_GUID(), ' ');
COMMIT;
END;
자치 사 무 는 현재 사무 에서 시작 하여 자신의 Begin end 구문 블록 에서 실 행 됩 니 다.실행 중인 업무 에 영향 을 주지 않 고 독립 적 으로 제출 되 거나 다시 실 행 될 수 있 습 니 다.그 렇 기 때문에 오류 로 그 를 기록 하 는 이상 적 인 형식 이 되 었 다.트 랜 잭 션 에서 오류 가 감지 되 었 을 때 오류 로그 시트 에 한 줄 을 삽입 하고 제출 한 다음 이번 삽입 을 잃 어 버 리 지 않 은 상태 에서 홈 트 랜 잭 션 을 되 돌 릴 수 있 습 니 다.자치 사 무 는 주 업무 와 분리 되 기 때문에 수 정 된 줄 의 현재 상 태 를 감지 할 수 없습니다.주 업무 가 제출 되 기 전에 단독 세 션 에 있 었 던 것 처럼 자치 업무 에 있어 서 는 사용 할 수 없습니다.그러나 반대로 주 사 무 는 이미 실 행 된 자치 업무 의 결 과 를 감지 할 수 있다.
자치 사 무 를 만 들 려 면 익명 블록 의 최고 층 이나 저장 과정, 함수, 패 킷 또는 트리거 정의 부분 에서 PL / SQL 의 PRAGMA AUTonoMOUS 를 사용 해 야 합 니 다.TRANSACTION 문구.이러한 모듈 이나 과정 에서 실 행 된 SQL 문 구 는 모두 자치 적 이다.
자치 사 무 는 다음 과 같은 특징 이 있다.
첫째, 이 프로그램 은 기 존의 메 인 프로그램 에 의존 하지 않 습 니 다. 예 를 들 어 메 인 프로그램 에 제출 되 지 않 은 데이터 가 있 으 면 자치 사무 에서 찾 을 수 없습니다.
둘째, 자치 사무 에서 commt 또는 rollback 은 현재 자치 사무 중의 DML 만 제출 하거나 스크롤 백 할 뿐 메 인 프로그램의 DML 에 영향 을 주지 않 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.