이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 릴리스 토토 결과버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

릴리스 토토 결과

릴리스 토토 결과 - 이전에 정의 된 토토 결과 릴리스

시놉시스

릴리스 [토토 결과]토토 결과_Name

설명

릴리스 토토 결과명명 된 토토 결과 이후에 생성 된 이름의 토토 결과 및 모든 활성 저장 포인트를 출시하고 리소스를 해방시킵니다. 아직 롤백되지 않은 토토 결과가 생성 된 이후의 모든 변경 사항은 명명 된 토토 결과가 생성 될 때 활성화 된 트랜잭션 또는 토토 결과에 병합됩니다. 이후에 변경되었습니다.릴리스 토토 결과이 활성 거래 또는 토토 결과의 일부가 될 것입니다.

매개 변수

토토 결과_Name

릴리스 할 수있는 저장 포인트의 이름.

노트

이전에 정의되지 않은 토토 결과 이름을 지정하는 것은 오류입니다.

트랜잭션이 중단 된 상태에있을 때 저장 포인트를 해제 할 수 없습니다. 그렇게하려면 사용PostgreSQL :.

다중 저장 포인트의 이름이 같은 경우 가장 최근에 정의되지 않은 미공개 만 릴리스됩니다. 반복 된 명령은 점진적으로 오래된 저장 포인트를 출시합니다.

예제

저장 포인트를 설정하고 출시하려면 :

시작;
    표 1 값 (3)에 삽입;
    토토 결과 My_토토 결과;
    표 1 값 (4)에 삽입;
    릴리스 토토 결과 My_토토 결과;
저지르다;

위의 거래는 3과 4를 모두 삽입합니다.

다중 중첩 감산이있는 더 복잡한 예 :

시작;
    표 1 값 (1)에 삽입;
    토토 결과 SP1;
    표 1 값 (2)에 삽입;
    토토 결과 SP2;
    표 1 값 (3)에 삽입;
    릴리스 토토 결과 SP2;
    표 1 값 (4))에 삽입); - 오류 생성

이 예에서 응용 프로그램은 토토 결과의 릴리스를 요청합니다SP2, 삽입 된 3. 삽입의 트랜잭션 컨텍스트를로 변경합니다.SP1. 값 4를 삽입하려고 시도하는 명령문이 오류를 생성하면 오류가 발생하면 2와 4의 삽입이 동일하고 현재 순간에 다시 구속 된 저장 포인트이며 값 3이 동일한 트랜잭션 컨텍스트에 있기 때문에 손실됩니다. 응용 프로그램은 이제이 두 명령 중 하나만 선택할 수 있습니다. 다른 모든 명령은 무시되므로 :

롤백;
토토 결과 SP1에 대한 롤백;

선택롤백값 1을 포함하여 모든 것을 중단하는 반면토토 결과 SP1에 대한 롤백값 1을 유지하고 거래가 계속되도록 허용합니다.

호환성

이 명령은에 부합합니다.SQL표준. 표준은 핵심 단어를 지정합니다토토 결과의무이지만PostgreSQL생략 할 수 있습니다.