2025 년 7 월 17 일 : | 윈 토토 : 윈 토토 18 베타
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 토토 핫 생성버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

생성 도메인

이름

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

시놉시스

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

설명

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

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

도메인은 필드의 공통 제약을 추상화하는 데 유용합니다 유지 보수를위한 단일 위치로. 예를 들어, 여러 테이블 이메일 주소 열이 포함되어있을 수 있으며 모두 동일한 수표가 필요합니다. 주소 구문을 확인하기위한 제약 조건. 오히려 도메인을 정의하십시오 각 테이블의 제약 조건을 개별적으로 설정하는 것보다

도메인을 만들 수 있으려면usage기본 유형의 특권.

매개 변수

이름

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

data_type

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

Collation

도메인에 대한 선택적 충돌. Collation이없는 경우 지정된 기본 데이터 유형의 기본 콜레이션이 사용됩니다. 기본 유형은 Collatable이면Collate지정되어 있습니다.

기본값표현

the기본값절의 기본값을 지정합니다 도메인 데이터 유형의 열 값. 값은 무엇입니까? 가변이없는 표현식 (그러나 하위 쿼리는 허용되지 않습니다). 데이터 기본 표현식의 유형은 데이터 유형과 일치해야합니다. 도메인. 기본값이 지정되지 않으면 기본값은 널 가치.

기본 표현식은 모든 삽입 작업에서 사용됩니다. 열에 대한 값을 지정하지 않습니다. 기본값이있는 경우 특정 열에 대해 정의되면 기본값을 대체합니다 도메인과 관련이 있습니다. 결과적으로 도메인 기본값은 재정의됩니다 기본 데이터 유형과 관련된 모든 기본값.

제약제약 _name

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

NOT NULL

이 도메인의 값은 일반적으로 무효가되는 것을 방지합니다. 그러나이 제약 조건이있는 도메인은 여전히 가능합니다. 일치하는 도메인 유형이 할당 된 경우 널 값을 가져옵니다. 예를 들어 무효가됩니다. 왼쪽 외부 조인을 통해 또는탭에 삽입 (domcol) 값 ((탭에서 domcol을 선택하십시오 Where False)).

NULL

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

이 조항은 비표준과의 호환성만을위한 것입니다 SQL 데이터베이스. 새로운 응용 프로그램에서는 사용이 권장되지 않습니다.

check (표현)

check조항은 무결성을 지정합니다 도메인의 값이 만족 해야하는 제약 또는 테스트. 각 제약은 부울 결과를 생성하는 표현이어야합니다. 그것 키워드를 사용해야합니다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 표준.