SET CONSTRAINTS — 현재 트랜잭션에 대한 제약 확인 타이밍 설정
토토 핫조건 설정 전체 |이름[, ...] 지연됨 | 즉시
토토 핫조건 설정현재 트랜잭션 내에서 제약 조건 확인 동작을 설정합니다.즉시토토 핫조건은 각 문의 끝에서 확인됩니다.지연됨토토 핫조건은 트랜잭션이 커밋될 때까지 확인되지 않습니다. 각 토토 핫조건에는 고유한 것이 있습니다.즉시또는지연됨모드.
생성 시 토토 핫조건에는 세 가지 특성 중 하나가 부여됩니다.연기 가능 처음에는 연기됨, 처음에는 즉시 연기 가능, 또는지연할 수 없음. 세 번째 수업은 항상즉시다음의 영향을 받지 않습니다.토토 핫조건 설정명령. 처음 두 클래스는 표시된 모드에서 모든 트랜잭션을 시작하지만 해당 동작은 트랜잭션 내에서 다음과 같이 변경될 수 있습니다.토토 핫조건 설정.
토토 핫조건 설정제약조건 이름 목록을 사용하면 해당 제약조건의 모드만 변경됩니다(모두 연기 가능해야 함). 각 제약조건 이름은 스키마로 한정될 수 있습니다. 스키마 이름이 지정되지 않은 경우 현재 스키마 검색 경로는 일치하는 첫 번째 이름을 찾는 데 사용됩니다.모두 토토 핫조건 설정모든 연기 가능한 토토 핫 조건의 모드를 변경합니다.
언제토토 핫조건 설정제약 모드를 다음에서 변경합니다.지연됨에즉시, 새 모드는 소급하여 적용됩니다. 트랜잭션 종료 시 확인되었을 미해결 데이터 수정 사항은 대신 실행 중에 확인됩니다.토토 핫조건 설정명령. 그러한 토토 핫 조건을 위반하는 경우,토토 핫조건 설정실패합니다(토토 핫 모드를 변경하지 않음). 따라서,토토 핫조건 설정트랜잭션의 특정 지점에서 토토 핫 조건 검사가 발생하도록 강제하는 데 사용할 수 있습니다.
현재는 오직고유, 기본 키, 참조(외래 키) 및제외토토 핫조건은 이 설정의 영향을 받습니다.NULL이 아님그리고확인행이 삽입되거나 수정될 때 제약 조건은 항상 즉시 확인됩니다. (아님문의 끝 부분). 선언되지 않은 고유성 및 제외 제약조건지연 가능또한 즉시 확인됩니다.
다음과 같이 선언된 트리거의 실행“토토 핫 트리거”또한 이 설정으로 제어됩니다. 관련 제약 조건을 확인하는 동시에 실행됩니다.
왜냐하면포스트그레SQL제약조건 이름은 스키마 내에서 고유할 것을 요구하지 않습니다(단, 테이블별로만 해당). 지정된 제약조건 이름과 일치하는 항목이 두 개 이상 있을 수 있습니다. 이 경우토토 핫조건 설정모든 경기에 적용됩니다. 스키마에 한정되지 않은 이름의 경우 검색 경로의 일부 스키마에서 일치 항목이 발견되면 경로의 뒷부분에 나타나는 스키마는 검색되지 않습니다.
이 명령은 현재 트랜잭션 내의 제약 조건 동작만 변경합니다. 트랜잭션 블록 외부에서 이를 발행하면 경고가 발생하며 그렇지 않으면 아무런 효과가 없습니다.
이 명령은 다음과 같은 제한을 제외하고 SQL 표준에 정의된 동작을 준수합니다.PostgreSQL다음에는 적용되지 않습니다.NULL이 아님그리고확인토토 핫. 또한,PostgreSQL표준에서 제안하는 것처럼 명령문 끝이 아닌 지연 불가능한 고유성 제약 조건을 즉시 확인합니다.