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

와이즈 토토

이름

와이즈 토토 - 트랜잭션 내부 테이블의 명시 적 와이즈 토토
와이즈 토토 [표]테이블

입력

테이블

와이즈 토토 할 기존 테이블의 이름입니다.

출력

삭제 0

메시지가 성공적인 와이즈 토토으로 반환되었습니다.와이즈 토토|삭제테이블보장되지 않습니다 행 삭제.

오류테이블: 테이블 존재하지 않습니다.

메시지 반환 IF테이블존재하지 않습니다.

설명

와이즈 토토독점 모드에서 테이블을 잠그십시오 거래 내부. 이것에 대한 고전적인 용도는 경우입니다 일부 데이터를 선택한 다음 내부에서 업데이트하려고합니다. 거래. 와이즈 토토을 사용하여 테이블을 명시 적으로 잠그십시오 진술, 그것은 첫 번째에만 잠겨 있습니다업데이트, 삽입또는삭제작동. 배타적 인 와이즈 토토을하지 않으면 선택 전에 테이블이 있으면 다른 사용자도 읽을 수도 있습니다. 선택한 데이터, 자체 업데이트를 시도하여 둘 다 다른 사람이 출시되기를 기다리는 동안 교착 상태 선택에 의한 공유 와이즈 토토 장치를 선택하여 독점적 인 와이즈 토토을 얻을 수 있습니다. 업데이트.

교착 상태의 또 다른 예는 한 사용자가 한 테이블을 잠그는 곳입니다. 다른 사용자는 두 번째 테이블을 잠그고 있습니다. 둘 다 지키는 동안 기존 와이즈 토토 장치 인 첫 번째 사용자는 두 번째 사용자의 와이즈 토토을 고정하려고합니다. 테이블과 두 번째 사용자는 첫 번째 사용자의 테이블을 잠그려고합니다. 두 사용자 모두 테이블을 사용할 수 있기를 기다리는 교착 상태. 이것에 대한 유일한 해결책은 두 사용자 모두가 테이블을 잠그는 것입니다. 동일한 순서이므로 사용자의 와이즈 토토 획득 및 양식 요청 교착 상태.

참고 : Postgres교착 상태를 감지하고 롤백 트랜잭션을 해결합니다 이중 자물쇠. 일반적으로 교착 상태 중 하나 이상 성공적으로 완료됩니다.

노트

와이즈 토토isPostgres언어 확장.

와이즈 토토내부에서만 작동합니다 업무.

버그 :잠긴 테이블이 떨어지면 트랜잭션이 아직없는 경우에도 자동으로 와이즈 토토 해제됩니다 진전.

usage

-교착 상태를 방지하기위한 외환 와이즈 토토 :
-
일을 시작하십시오.
    와이즈 토토 필름;
    영화에서 *를 선택하십시오.
    영화 업데이트 세트 len = 간격 '100 분'
        여기서 len = 간격 '117 분';
일을 커밋;

호환성

SQL92

없음와이즈 토토 테이블inSQL92대신 사용트랜잭션 설정동시성을 지정합니다 거래 수준.