이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 토토 꽁 머니버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

배트맨 토토

이름

LOCK -- 테이블 잠그기

시놉시스

배트맨 토토 [ 표 ] [ 전용 ]이름[ * ] [, ...] [ IN배트맨 토토 모드모드 ] [ 지금 대기 ]

어디서배트맨 토토 모드다음 중 하나입니다:

    액세스 공유 | 행 공유 | 행 독점 | 업데이트 독점 공유
    | 공유 | 공유 행 독점 | 독점 | 액세스 독점

설명

배트맨 토토 테이블테이블 수준을 얻습니다. 배트맨 토토, 필요한 경우 충돌하는 배트맨 토토이 있을 때까지 대기 출시되었습니다. 만일지금 대기 중지정되었습니다.락 테이블획득을 기다리지 않습니다. 원하는 배트맨 토토: 즉시 획득할 수 없는 경우 명령은 중단되고 오류가 발생합니다. 일단 획득하면 자물쇠는 현재 거래의 나머지 기간 동안 보유됩니다. (없습니다테이블 배트맨 토토 해제명령; 자물쇠는 항상 거래 종료 시 해제됩니다.)

참조하는 명령에 대해 자동으로 배트맨 토토을 획득할 때 테이블,포스트그레SQL항상 사용함 가능한 최소한의 제한적인 배트맨 토토 모드입니다.락 테이블필요할 수 있는 경우를 제공합니다. 더 제한적인 배트맨 토토. 예를 들어 애플리케이션이 있다고 가정해 보겠습니다. Read Committed 격리 수준에서 트랜잭션을 실행하고 테이블의 데이터가 안정적으로 유지되는지 확인해야 합니다. 거래 기간. 이를 달성하기 위해 다음을 얻을 수 있습니다.공유이전 테이블에 대한 배트맨 토토 모드 쿼리 중입니다. 이렇게 하면 동시 데이터 변경을 방지하고 이후에 테이블을 읽으면 커밋된 안정적인 보기가 표시됩니다. 데이터이기 때문에공유배트맨 토토 모드 충돌 와 함께행 독점다음에 의해 배트맨 토토 획득됨 작가들, 그리고 당신의락 테이블이름공유 모드에서문은 기다릴 것입니다 동시 보유자가 있을 때까지행 독점모드는 커밋 또는 롤백을 잠급니다. 따라서 일단 당신은 배트맨 토토을 획득하면 아직 커밋되지 않은 쓰기가 없습니다. 또한 배트맨 토토을 해제할 때까지는 아무것도 시작할 수 없습니다.

다음에서 트랜잭션을 실행할 때 비슷한 효과를 얻으려면 직렬화 가능한 격리 수준, 다음을 실행해야 합니다.락 테이블실행 전 명령문선택또는 데이터 수정문. 에이 직렬화 가능 트랜잭션의 데이터 보기는 다음과 같은 경우 고정됩니다. 먼저선택또는 데이터 수정 진술이 시작됩니다. 갑락 테이블나중에 트랜잭션은 여전히 동시 쓰기를 방지하지만 트랜잭션이 읽은 내용이 최근 커밋된 값입니다.

이런 종류의 거래가 다음의 데이터를 변경하려는 경우 테이블을 사용하려면공유 행 독점대신 배트맨 토토 모드공유mode. 이렇게 하면 단 하나의 트랜잭션만 보장됩니다. 이 유형은 한 번에 실행됩니다. 이것이 없으면 교착상태가 된다. 가능: 두 거래가 모두 획득될 수 있습니다.공유모드, 그 다음에는 획득할 수 없습니다행 독점실제로 수행할 모드 그들의 업데이트. (트랜잭션 자체 배트맨 토토은 절대로 잠기지 않습니다. 충돌하므로 거래가 획득될 수 있습니다.행 독점유지 시 모드SHARE모드 — 그러나 다른 사람이 보유하고 있는 경우에는 그렇지 않습니다.공유모드.) 교착 상태를 방지하려면 다음 사항을 모두 확인하세요. 트랜잭션은 동일한 순서로 동일한 개체에 대한 배트맨 토토을 획득합니다. 단일 객체에 대해 여러 배트맨 토토 모드가 관련된 경우 트랜잭션은 항상 가장 제한적인 모드를 획득해야 합니다. 먼저.

배트맨 토토 모드 및 배트맨 토토 전략에 대한 추가 정보 에서 찾을 수 있습니다.PostgreSQL : 문서 : 8.4 : 명시 적 토토 결과.

Parameters

이름

기존 이름(선택적으로 스키마 한정) 잠글 테이블. 만일이다 테이블 이름 앞에 지정하면 해당 테이블만 잠깁니다. 만일지정되지 않았습니다. 테이블과 모든 하위 테이블(있는 경우)이 잠겨 있습니다. 선택적으로,*지정 가능 테이블 이름 뒤에 해당 하위 항목을 명시적으로 나타냄 테이블이 포함되어 있습니다.

명령어락 테이블 a, b;is 에 해당함락 테이블 a; 배트맨 토토 테이블 비;. 테이블은 순서대로 하나씩 잠깁니다. specified in the락 테이블명령.

배트맨 토토 모드

배트맨 토토 모드는 이 배트맨 토토이 충돌하는 배트맨 토토을 지정합니다. 와. 배트맨 토토 모드는 다음에 설명되어 있습니다.섹션 13.3.

배트맨 토토 모드가 지정되지 않은 경우접속 독점, 가장 제한적인 모드, 사용됩니다.

NOWAIT

다음을 지정함배트맨 토토 테이블충돌하는 배트맨 토토이 해제될 때까지 기다리면 안 됩니다: 지정된 배트맨 토토을 즉시 획득할 수 없는 경우 기다리지 않고 거래가 중단됩니다.

참고

액세스 공유 모드에서 테이블 배트맨 토토 ...필요함선택대상에 대한 권한 테이블. 다른 모든 형태의배트맨 토토요구 중 적어도 하나UPDATE, 삭제또는잘라내기권한.

락 테이블외부에서는 쓸모가 없습니다 트랜잭션 블록: 배트맨 토토은 해당 트랜잭션에만 유지됩니다. 성명서의 완성. 그러므로PostgreSQL다음의 경우 오류를 보고합니다LOCK은(는) 트랜잭션 블록 외부에서 사용됩니다. 사용PostgreSQL : 문서 : 8.4 : 토토 사이트 순위그리고윈 토토 PostgreSQL : 문서 : 8.4 : Commit(또는롤백) 거래 정의 차단합니다.

락 테이블다음과만 거래합니다. 테이블 수준 배트맨 토토 및 관련된 모드 이름ROW모두 잘못된 이름입니다. 이러한 모드 이름은 일반적으로 사용자의 의도를 나타내는 것으로 읽혀집니다. 잠긴 테이블 내에서 행 수준 배트맨 토토을 획득합니다. 또한,행 독점모드는 공유 가능한 테이블 배트맨 토토입니다. 유지하다 모든 배트맨 토토 모드는 지금까지 동일한 의미를 가지고 있다는 점을 염두에 두십시오 와 같이락 테이블걱정됩니다, 다릅니다 어떤 모드가 어떤 모드와 충돌하는지에 대한 규칙에서만 가능합니다. 에 대한 실제 행 수준 배트맨 토토을 획득하는 방법에 대한 자세한 내용은 참조섹션 13.3.2그리고업데이트용/공유용 조항에서선택참조 문서.

Examples

a 획득공유기본 키 배트맨 토토 외래 키 테이블에 삽입을 수행하려고 할 때 테이블:

작업 시작;
공유 모드에서 배트맨 토토 테이블 영화;
영화에서 ID 선택 
    WHERE name = '스타워즈: 에피소드 I - 보이지 않는 위협';
-- 레코드가 반환되지 않은 경우 ROLLBACK을 수행합니다.
film_user_comments 값에 삽입하세요. 
    (_id_, '좋아요! 너무 오랫동안 기다리고 있었어요!');
작업 커밋;

가져가세요공유 행 독점배트맨 토토 삭제 작업을 수행할 때 기본 키 테이블:

작업 시작;
공유 행 독점 모드의 배트맨 토토 테이블 영화;
ID가 있는 곳의film_user_comments에서 삭제
    (등급 < 5인 영화에서 ID 선택);
등급이 < 5인 영화에서 삭제하세요.
작업 커밋;

호환성

없습니다락 테이블SQL에서 대신에 다음을 사용하는 표준입니다.세트 거래트랜잭션의 동시성 수준을 지정합니다.PostgreSQL그것도 지원합니다; 참조PostgreSQL : 문서 : 8.4 : 토토 베이 설정자세한 내용은.

제외액세스 공유, 접속 독점공유 업데이트 독점배트맨 토토 모드, 그포스트그레SQL배트맨 토토 모드 및락 테이블구문은 다음과 호환됩니다. 에 존재함오라클.