>  기사  >  데이터 베이스  >  Oracle 저장 프로시저에서 트랜잭션의 용도는 무엇입니까?

Oracle 저장 프로시저에서 트랜잭션의 용도는 무엇입니까?

青灯夜游
青灯夜游원래의
2022-01-25 17:30:191797검색

Oracle 저장 프로시저에서 트랜잭션은 데이터 일관성을 보장하는 데 사용되며 관련 DML 문 그룹으로 구성됩니다. 이 DML 문 그룹에서 수행되는 작업은 모두 확인되거나 모두 취소됩니다. 트랜잭션 작업이 수행되면 영향을 받는 테이블과 행에 잠금이 설정되어 다른 사용자가 테이블 구조를 변경하거나 다른 트랜잭션이 해당 행에 대해 DML 작업을 수행하는 것을 방지합니다.

Oracle 저장 프로시저에서 트랜잭션의 용도는 무엇입니까?

이 튜토리얼의 운영 환경: 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 Tutorial

"

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

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