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

젠 토토

젠 토토 - 현재 트랜잭션 내에서 새 저장 포인트를 정의

시놉시스

젠 토토젠 토토_Name

설명

젠 토토현재 트랜잭션 내에서 새로운 저장 포인트를 설정합니다.

젠 토토는 트랜잭션 내부의 특수 표시로, 설정된 후 실행 된 모든 명령을 롤백으로 롤백하여 트랜잭션 상태를 젠 토토 시점에 복원합니다..

매개 변수

젠 토토_Name

새 저장 포인트에 제공 할 이름. 이름이 동일한 저장 포인트가 이미 존재하면 최신 동일한 이름이 이름이 저장된 저장 포인트가 릴리스 될 때까지 접근 할 수 없습니다.

노트

use젠 토토 로의 롤백저장 포인트로 롤백합니다. 사용릴리스 젠 토토저장 포인트를 파괴하려면 명령이 확립 된 후에 실행 된 명령의 효과를 유지합니다.

젠 토토s는 트랜잭션 블록 내부에있을 때만 설정할 수 있습니다. 트랜잭션 내에 여러 개의 저장 포인트가 정의 될 수 있습니다.

예제

젠 토토를 설정하고 나중에 설정된 후 실행 된 모든 명령의 효과를 실행 취소하려면 :

시작;
    표 1 값 (1)에 삽입;
    젠 토토 My_젠 토토;
    표 1 값 (2)에 삽입;
    젠 토토 My_젠 토토에 대한 롤백;
    표 1 값 (3)에 삽입;
저지르다;

위의 트랜잭션은 값 1과 3이지만 2가 아닙니다.

저장 포인트를 설정하고 파괴하려면 :

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

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

단일 저장 포인트 이름을 사용하려면 :

시작;
    표 1 값 (1)에 삽입;
    젠 토토 My_젠 토토;
    표 1 값 (2)에 삽입;
    젠 토토 My_젠 토토;
    표 1 값 (3)에 삽입;

    - 두 번째 저장 포인트로의 롤백
    젠 토토 My_젠 토토에 대한 롤백;
    * 선택 *에서 *;               - 행 1과 2를 보여줍니다

    - 두 번째 저장 포인트를 릴리스합니다
    릴리스 젠 토토 My_젠 토토;

    - 첫 번째 저장 포인트로의 롤백
    젠 토토 My_젠 토토에 대한 롤백;
    * 선택 *에서 *;               - 행 1 만 표시합니다
저지르다;

위의 트랜잭션은 Row 3이 먼저 롤백 된 다음 Row 2를 롤백하는 것을 보여줍니다.

호환성

SQL은 동일한 이름을 가진 다른 저장 포인트가 설정되면 젠 토토를 자동으로 파괴해야합니다. 안에PostgreSQL, 기존 저장 포인트는 유지되지만, 더 최근의 것은 롤백 또는 릴리스시 더 최근에 사용됩니다. (새로운 저장 포인트를 릴리스릴리스 젠 토토| 오래된 것을 다시 접근 할 수있게됩니다젠 토토 로의 롤백and릴리스 젠 토토.) 그렇지 않으면젠 토토완전히 SQL을 준수합니다.