Oracle 저장 프로시저에서 트랜잭션은 데이터 일관성을 보장하는 데 사용되며 관련 DML 문 그룹으로 구성됩니다. 이 DML 문 그룹에서 수행되는 작업은 모두 확인되거나 모두 취소됩니다. 트랜잭션 작업이 수행되면 영향을 받는 테이블과 행에 잠금이 설정되어 다른 사용자가 테이블 구조를 변경하거나 다른 트랜잭션이 해당 행에 대해 DML 작업을 수행하는 것을 방지합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.
oracle 저장 프로시저 트랜잭션 처리
1. 트랜잭션은 데이터의 일관성을 보장하는 데 사용됩니다. 이 DML 문 집합에 의해 수행되는 작업은 모두 확인됩니다. 취소.
2. 트랜잭션 작업(DML)을 실행할 때 Oracle은 다른 사용자가 테이블 구조를 변경하지 못하도록 영향을 받는 테이블을 잠급니다. 또한 다른 트랜잭션이 테이블 구조를 변경하지 못하도록 영향을 받는 행에 행 잠금을 추가합니다. 해당 라인에 대한 DML 작업.
3. 트랜잭션 커밋 또는 트랜잭션 롤백을 실행할 때 오라클은 트랜잭션 변경 사항을 확인하거나 트랜잭션을 롤백하고 트랜잭션을 종료하며 저장 지점을 삭제하고 잠금을 해제합니다.
4. 트랜잭션을 커밋(COMMIT)하여 트랜잭션 변경 사항을 확인하고, 현재 트랜잭션을 종료하고, 저장 지점을 삭제하고, 잠금을 해제하여 현재 트랜잭션에 보류 중인 모든 데이터를 영구적으로 변경합니다.
5. 저장 포인트(SAVEPOINT) 현재 거래에서 해당 거래의 저장 포인트를 표시합니다.
6. 롤백 트랜잭션(ROLLBACK)은 전체 트랜잭션을 롤백하고, 트랜잭션에서 정의한 모든 저장 지점을 삭제하고, 잠금을 해제하고, 보류 중인 모든 데이터 변경 사항을 삭제합니다.
7. 트랜잭션을 지정된 저장 지점으로 롤백합니다(ROLLBACK TO SAVEPOINT). 현재 트랜잭션을 지정된 저장 지점으로 롤백하고, 저장 지점이 생성된 후 모든 변경 사항을 삭제하고 잠금을 해제합니다.
8. DDL, DCL 문을 실행하거나 SQL*PLUS를 종료하면 트랜잭션이 자동으로 제출됩니다.
9. 트랜잭션 중에는 사용자와의 상호 작용을 피해야 합니다.
10.
11. 트랜잭션을 최대한 짧게 만드세요.
12. 트랜잭션에서 최대한 적은 양의 데이터에 액세스하세요.
create or replace procedure stu_proc ( v_id in number, v_name in varchar2, v_age in number, v_msg out varchar2 ) as begin insert into student(id, sname, age) values (v_id, v_name, v_age); commit; v_msg:='添加成功'; exception when others then rollback; v_msg:='失败成功'; RAISE_APPLICATION_ERROR(-20010, 'ERROR:违反唯一索引约束!'); end;
위 내용은 Oracle 저장 프로시저에서 트랜잭션의 용도는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!