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

롤 토토

이름

LOCK -- 테이블 잠그기

시놉시스

롤 토토 [ 표 ] [ 전용 ]이름[ * ] [, ...] [ IN롤 토토 모드모드 ] [ 지금 대기 ]어디에서롤 토토 모드다음 중 하나입니다:액세스 공유 | 행 공유 | 행 독점 | 업데이트 독점 공유
    | 공유 | 공유 행 독점 | 독점 | 액세스 독점

설명

락 테이블테이블 수준 롤 토토을 획득하고, 필요한 경우 충돌하는 롤 토토이 해제될 때까지 기다립니다. 만일NOWAIT지정되었습니다.락 테이블원하는 것을 얻기를 기다리지 않습니다 롤 토토: 즉시 획득할 수 없으면 명령이 중단됩니다. 오류가 발생합니다. 일단 획득하면 롤 토토은 다음 기간 동안 유지됩니다. 현재 거래의 나머지 부분. (없습니다테이블 롤 토토 해제명령; 롤 토토은 항상 해제됩니다. 거래 종료.)

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

다음에서 트랜잭션을 실행할 때 유사한 효과를 얻으려면반복 가능한 읽기또는직렬화 가능격리 수준, 실행해야 함락 테이블실행 전 명령문 모두선택또는 데이터 수정문. 갑반복 가능한 읽기또는직렬화 가능트랜잭션의 데이터 보기는 다음과 같습니다. 처음에는 동결됨선택또는 데이터 수정문이 시작됩니다. 갑롤 토토 표나중에 트랜잭션에서는 여전히 동시 발생을 방지합니다. 쓰기 — 하지만 트랜잭션이 읽는 내용을 보장하지는 않습니다. 최근에 커밋된 값에 해당합니다.

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

롤 토토 모드 및 롤 토토 전략에 대한 자세한 내용은 다음에서 찾을 수 있습니다.PostgreSQL : 문서 : 9.3 : 명시 적 윈 토토.

매개변수

이름

기존 테이블의 이름(선택적으로 스키마 한정) 자물쇠. 만일이(가) 앞에 지정되었습니다. 테이블 이름, 해당 테이블만 잠겨 있습니다. 만일지정되지 않았습니다. 테이블과 그 모든 하위 테이블(있는 경우)이 잠겨 있습니다. 선택적으로,*테이블 이름 뒤에 지정할 수 있습니다. 하위 테이블이 포함되어 있음을 명시적으로 나타냅니다.

명령어락 테이블 a, b;이다 에 해당함락 테이블 a; 롤 토토 테이블 b;. 테이블은에 지정된 순서대로 하나씩 잠깁니다.락 테이블명령.

롤 토토 모드

롤 토토 모드는 이 롤 토토이 충돌하는 롤 토토을 지정합니다. 롤 토토 모드는 다음에 설명되어 있습니다.PostgreSQL : 문서 : 9.3 : 명시 적 윈 토토.

롤 토토 모드가 지정되지 않은 경우액세스 독점15272_15311

지금 대기 중

다음을 지정함락 테이블해서는 안됩니다 충돌하는 롤 토토이 해제될 때까지 기다립니다. 롤 토토은 기다리지 않고 즉시 획득할 수 없습니다. 거래가 중단되었습니다.

참고

액세스 공유 모드에서 테이블 롤 토토 ...요구됨선택대상에 대한 권한 테이블. 다른 모든 형태의롤 토토요구 테이블 수준업데이트, 삭제또는잘라내기권한.

락 테이블외부에서는 쓸모가 없습니다 트랜잭션 블록: 롤 토토은 해당 트랜잭션에만 유지됩니다. 성명서의 완성. 그러므로포스트그레SQL다음의 경우 오류를 보고합니다롤 토토은 트랜잭션 블록 외부에서 사용됩니다. 사용롤 토토 : 문서 : 9.3 : 시작그리고커밋(또는롤백) 거래 정의 차단합니다.

락 테이블테이블 수준만 다룹니다. 롤 토토 및 관련된 모드 이름ROW모두 잘못된 이름입니다. 이러한 모드 이름은 일반적으로 다음과 같이 읽어야 합니다. 행 수준 롤 토토을 획득하려는 사용자의 의도를 나타냅니다. 잠긴 테이블 안에서. 또한,행 독점모드는 공유 가능한 테이블 롤 토토입니다. 명심하세요 모든 롤 토토 모드는 지금까지 동일한 의미를 갖습니다.락 테이블관심, 규칙만 다릅니다 어떤 모드와 충돌하는지에 대해 알아보세요. 방법에 대한 정보는 실제 행 수준 롤 토토을 획득합니다. 참조섹션 13.3.2그리고롤 토토 조항에서선택참조 문서.

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

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

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

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

호환성

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

제외액세스 공유, 접속 독점공유 업데이트 독점롤 토토 모드,PostgreSQL롤 토토 모드 및락 테이블구문은 현재 구문과 호환됩니다. 에서오라클.