이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다스포츠 토토 PostgreSQL : 문서 : 17 : Alter Domain버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

Alter Domain

롤 토토 변경 - 롤 토토의 정의 변경

시놉시스

롤 토토 변경이름set default표현| 삭제 기본값이름set | drop null이 아닙니다
롤 토토 변경이름adddomain_constraint[유효하지 않음]
롤 토토 변경이름드롭 제약 조건 [존재하는 경우]제약 _name[제한 | 캐스케이드]
롤 토토 변경이름제약 이름 바꾸기제약 _nametonew_constraint_nameAlter Domain이름제약 조건증제약 _nameAlter Domain이름소유자에게New_owner| current_role | current_user | Session_USER이름이름 바꾸기new_nameAlter Domain이름스키마 설정new_schema

여기서domain_constraintis :[제약제약 _name]
null 아님 | 확인하다 (표현)

설명

Alter Domain기존 롤 토토의 정의를 변경합니다. 몇 가지 하위 형식이 있습니다 :

set/삭제 기본값

이 양식은 롤 토토의 기본값을 설정하거나 제거합니다. 기본값은 후속에만 적용됩니다삽입명령; 롤 토토을 사용하여 이미 테이블에있는 행에 영향을 미치지 않습니다.

SET/낙하하지 않음

이 양식은 롤 토토이 NULL 값을 허용하도록 표시되거나 NULL 값을 거부할지 여부를 변경합니다. 당신은 할 수 있습니다널 설정롤 토토을 사용하는 열에 널 값이 포함되지 않은 경우

adddomain_constraint[유효하지 않음]

이 양식은 롤 토토에 새로운 제약 조건을 추가합니다. 새로운 제약 조건이 롤 토토에 추가되면 해당 롤 토토을 사용하는 모든 열이 새로 추가 된 제약 조건에 대해 확인됩니다. 이 점검은를 사용하여 새로운 제약 조건을 추가하여 억제 할 수 있습니다.유효하지 않음옵션; 제약 조건은 나중에를 사용하여 유효 할 수 있습니다.Alter Domain ... 제약 조건 검증. 새로 삽입되거나 업데이트 된 행은 항상 모든 제약 조건에 대해 확인됩니다.유효하지 않음. 유효하지 않음만 허용됩니다check제약.

드롭 제약 조건 [존재하는 경우]

이 양식은 롤 토토에 제약 조건을 삭제합니다. 만약에존재하는 경우지정되고 제약 조건이 존재하지 않으며 오류가 발생하지 않습니다. 이 경우 통지가 대신 발행됩니다.

제약 이름 바꾸기

이 양식은 도메인의 제약 조건의 이름을 변경합니다.

제약 조건 검증

이 양식은 이전에 추가 된 제약 조건을 확인합니다.유효하지 않음

소유자

이 양식은 도메인의 소유자를 지정된 사용자로 변경합니다.

Rename

이 양식은 도메인의 이름을 변경합니다.

스키마 설정

이 양식은 롤 토토의 스키마를 변경합니다. 롤 토토과 관련된 모든 제약 조건은 새 스키마로 이동합니다.

사용하려면 롤 토토을 소유해야합니다Alter Domain. 롤 토토의 스키마를 변경하려면도 있어야합니다.Create새 스키마의 권한. 소유자를 변경하려면역할 설정새로운 소유의 역할에 대한, 그 역할은Create도메인 스키마의 권한. (이러한 제한은 소유자가 도메인을 삭제하고 재현하여 할 수없는 일을하지 않는다는 것을 강요합니다. 그러나 슈퍼업자는 어쨌든 모든 도메인의 소유권을 변경할 수 있습니다.).

매개 변수

이름

기존 도메인의 이름 (schema-qualified)이 변경 될 것입니다.

domain_constraint

롤 토토의 새로운 롤 토토 제약 조건.

제약 _name

삭제 또는 이름을 바꾸는 기존 제약 조건의 이름.

유효하지 않음

제약 조건 유효성에 대한 기존 저장된 데이터를 확인하지 마십시오.

캐스케이드

제약 조건에 의존하는 객체를 자동으로 삭제하고 그 객체에 의존하는 모든 객체 (참조PostgreSQL : 문서 : 18 : 5.15.범퍼카 토토 추적).

제한

종속 객체가있는 경우 제약 조건을 삭제하지 않도록합니다. 이것은 기본 동작입니다.

new_name

도메인의 새 이름.

new_constraint_name

제약 조건의 새 이름.

New_owner

도메인의 새 소유자의 사용자 이름.

new_schema

롤 토토의 새 스키마.

노트

비록ALTER 롤 토토 추가 제약 조건기존 저장된 데이터가 새로운 제약 조건을 충족하는지 확인하려고 시도합니다.이 점검은 명령이 할 수 없기 때문에 방탄이 아닙니다.참조새로 삽입 또는 업데이트되고 아직 커밋되지 않은 테이블 행. 동시 작업이 잘못된 데이터를 삽입 할 수있는 위험이있는 경우 진행 방법은를 사용하여 제약 조건을 추가하는 것입니다.유효하지 않음옵션, 커밋, 해당 명령, 해당 커밋이 끝나기 전에 모든 트랜잭션이 시작될 때까지 기다렸다가ALTER 롤 토토 검증 제약 조건제약 조건을 위반하는 데이터를 검색합니다. 이 방법은 일단 제약 조건이 커밋되면 모든 새로운 트랜잭션이 롤 토토 유형의 새로운 값에 대해이를 시행 할 수 있도록 보장하기 때문에 신뢰할 수 있습니다.

현재,ALTER 롤 토토 추가 제약 조건, 롤 토토 변경 제약 조건Alter Domain Set Not Null지명 된 롤 토토 또는 파생 롤 토토이 데이터베이스의 모든 테이블의 컨테이너 유형 열 (복합, 배열 또는 범위 열) 내에 사용되는 경우 실패합니다. 그러한 중첩 값에 대한 새로운 제약 조건을 확인할 수 있도록 결국 개선되어야합니다.

예제

추가하려면NOT NULL롤 토토에 대한 제약 :

ALTER 도메인 ZIPCODE SET NOT NULL;

aNOT NULL롤 토토의 제약 조건 :

ALTER 도메인 ZIPCODE DROP NOT NULL;

도메인에 검사 제약 조건을 추가하려면 :

ALTER 롤 토토 ZIPCODE 추가 제약 조건 Zipchk Check (char_length (value) = 5);

롤 토토에서 점검 제약 조건을 제거하려면 :

ALTER 롤 토토 ZIPCODE DROF SARBSINT ZIPCHK;

도메인의 수표 제약 이름 바꾸기 :

ALTER 도메인 ZIPCODE REMAIL 제약 조건 Zipchk에서 Zip_check;

롤 토토을 다른 스키마로 이동하려면 :

ALTER DOMAIN ZIPCODE 세트 스키마 고객;

호환성

Alter DomainSQL표준을 제외하고소유자, Rename, 스키마 설정제약 조건 검증변형, 즉PostgreSQL확장. 그만큼유효하지 않음절의 조항제약 조건 추가변형은 A입니다.PostgreSQL확장.