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

토토으로 SavePoint

이름

SavePoint 로의 토토-SavePoint로 토토

시놉시스

토토 [작업 | 트랜잭션]으로 [SavePoint]SavePoint_Name

설명

SavePoint 이후에 실행 된 모든 명령을 토토합니다. 설립되었습니다. 저장 포인트는 유효하며 토토 할 수 있습니다 나중에 다시 필요한 경우.

SavePoint 로의 토토암시 적으로 이름이 지정된 후 설정된 모든 저장 포인트를 파괴합니다 SavePoint.

매개 변수

SavePoint_Name

토토으로 돌아갈 수있는 저장 포인트

노트

usePostgreSQL : 문서명령의 효과를 버리지 않고 저장 포인트를 파괴하려면 그것이 설립 된 후에 실행되었습니다.

설정되지 않은 SavePoint 이름을 지정하는 것은 오류.

커서는에 대해 다소 비 번역 행동이 있습니다 저장 포인트. SavePoint 내부에서 열리는 커서는 다음과 같습니다. SavePoint가 토토되면 닫힙니다. 이전에 열린 경우 커서는 A의 영향을받습니다.fetch또는움직임저장 점 내부의 명령 나중에 토토 된 커서는의 위치에 남아 있습니다.fetch그것을 가리키는 상태로 두었습니다 Cursor Motion으로 인한fetch그렇지 않습니다 토토). 토토으로 커서를 닫는 것은 실행 취소되지 않습니다. 어느 하나. 그러나 커서의 쿼리로 인한 다른 부작용 (예 : 쿼리가 호출하는 휘발성 함수의 부작용과 같은)are토토되면 나중에 토토되는 저장 포인트 중에 발생합니다. 누구의 커서 실행은 중단이 중단 될 수 없게됩니다. 상태, 따라서 거래를 사용하여 복원 할 수있는 동안SavePoint 로의 토토, 커서는 더 이상 될 수 없습니다 사용된.

예제

이후에 실행 된 명령의 효과를 취소하려면my_savepoint설립 :

SavePoint my_savepoint; 토토

커서 위치는 SavePoint 토토의 영향을받지 않습니다 :

시작;

Select 1 Union Select 2에 대한 foo 커서 선언;

SavePoint foo;

Foo에서 1을 가져 오십시오.
 ?열? 
---------
        1

SavePoint foo 로의 토토;

Foo에서 1을 가져 오십시오.
 ?열? 
---------
        2

저지르다;

호환성

theSQL표준 지정 그게 핵심 단어SavePoint의무적입니다. 하지만PostgreSQLandOracle생략 허용. SQL 허용 전용Work, 아님거래, 이후 소음 단어로토토. 또한 SQL에는 선택적 조항이 있습니다.및 [아니요] 체인현재는 아닙니다 지원PostgreSQL. 그렇지 않으면이 명령은 SQL 표준을 준수합니다.