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

생성 도메인

이름

도메인 작성-새 도메인 정의

시놉시스

도메인 생성이름[AS]data_type[기본값표현]
    [제약 조건[...]]여기서제약 조건is :[제약제약 _name]
null 아님 | 널 | 확인하다 (표현)

설명

도메인 생성새 도메인을 만듭니다. 에이 도메인은 본질적으로 선택적 제약 조건을 가진 데이터 유형입니다 (허용 값 세트에 대한 제한). 정의하는 사용자 도메인은 소유자가됩니다.

스키마 이름이 주어진 경우 (예 :도메인 생성 myschema.mydomain ...) 그런 다음 지정된 스키마에서 도메인이 생성됩니다. 그렇지 않으면 현재 스키마에서 생성되었습니다. 도메인 이름은 고유해야합니다 스키마에 존재하는 유형과 도메인 중.

도메인은 공통 제약을 추상화하는 데 유용합니다 유지 보수를 위해 단일 위치로 필드. 예를 들어, 여러 테이블에는 이메일 주소 열이 포함되어 있어야합니다 주소 구문을 확인하기위한 동일한 점검 제약 조건. 정의 a 각 테이블의 제약 조건을 설정하는 대신 도메인 개별적으로.

매개 변수

이름

도메인의 이름 (선택적으로 스키마 자격) 생성.

data_type

도메인의 기본 데이터 유형. 여기에는 포함될 수 있습니다 배열 지정자.

기본값표현

the기본값절은 a 도메인 데이터 유형의 열의 기본값. 그만큼 값은 모든 가변적 인 표현식입니다 (그러나 하위 쿼리는입니다 허용되지 않음). 기본 표현식의 데이터 유형이 있어야합니다 도메인의 데이터 유형과 일치합니다. 기본값이없는 경우 지정된 다음 기본값은 NULL 값입니다.

기본 표현식은 삽입물에 사용됩니다 열에 값을 지정하지 않는 작업. 만약에 특정 열에 대해 기본값이 정의됩니다. 도메인과 관련된 기본값을 무시합니다. 차례로, 도메인 기본값은 관련된 기본값을 대체합니다 기본 데이터 유형으로.

제약제약 _name

제약 조건의 선택 이름. 지정되지 않은 경우 시스템은 이름을 생성합니다.

NOT NULL

이 도메인의 값은 일반적으로 존재하지 않습니다 널. 그러나 이와 함께 도메인에는 여전히 가능합니다. 할당 된 경우 null 값을 취하는 제약 조건 널이 된 일치하는 도메인 유형 (예 : 왼쪽을 통해 외부 조인, 또는탭에 삽입 (domcol) 값 ((false 탭에서 domcol 선택).

NULL

이 도메인의 값은 널로 허용됩니다. 이것은 기본값.

이 조항은 호환성만을위한 것입니다 비표준 SQL 데이터베이스. 그것의 사용은 신규에서 낙담합니다 응용 프로그램.

check (표현)

check조항은 무결성을 지정합니다 도메인의 값이 제약 또는 테스트 풀다. 각 제약 조건은 a를 생성하는 표현이어야합니다 부울 결과. 핵심 단어를 사용해야합니다value값을 참조합니다 테스트.

현재,check표현 하위 쿼리를 포함 할 수 없거나 이외의 변수를 참조 할 수 없습니다.value.

이 예제는를 만듭니다.US_POSTAL_CODE데이터 유형과 테이블 정의에서 유형을 사용합니다. 일반 표현 테스트는 값이 유효한 미국 우편 번호 :

텍스트로 도메인 생성 US_POSTAL_CODE를 텍스트로 만듭니다
확인하다(
   value ~ '^\\ d 5 $'
또는 value ~ '^\\ d 5-\\ d 4 $'
);

테이블 작성 us_snail_addy (
  address_id 직렬 기본 키,
  street1 텍스트는 null이 아닙니다.
  street2 텍스트,
  street3 텍스트,
  도시 텍스트는 null이 아닙니다.
  우편 US_POSTAL_CODE NOT NULL
);

호환성

명령도메인 생성적합합니다 SQL 표준.