2025년 9월 25일:토토 커뮤니티 : 토토
이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 토토 핫 생성버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

만들기 토토 캔

이름

CREATE DOMAIN -- 새 토토 캔 정의

Synopsis

토토 캔 만들기이름[ 그대로 ]data_type[ 수집조합]
    [ 기본표현 ]
    [ 제약 [ ... ] ]

어디에서제약다음과 같습니다:[ 제약제약조건_이름]
 NULL이 아님 | NULL | 확인하다 (expression) }

설명

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

스키마 이름이 제공된 경우(예:토토 캔 myschema.mydomain 생성 ...) 그 다음 도메인 지정된 스키마에 생성됩니다. 그렇지 않으면 다음에 생성됩니다. 현재 스키마. 도메인 이름은 유형과 유형 간에 고유해야 합니다. 해당 스키마에 존재하는 도메인입니다.

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

도메인을 생성하려면 다음이 있어야 합니다.사용기본 유형에 대한 권한.

매개변수

이름

도메인의 이름(선택적으로 스키마 한정) 생성되었습니다.

data_type

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

collation

도메인에 대한 선택적 데이터 정렬. 대조가 없는 경우 지정하면 기본 데이터 유형의 기본 데이터 정렬이 사용됩니다. 다음과 같은 경우 기본 유형을 조합할 수 있어야 합니다.콜레이트지정되었습니다.

기본값expression

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

기본 표현식은 다음과 같은 모든 삽입 작업에 사용됩니다. 열의 값을 지정하지 않습니다. 기본값이 다음과 같은 경우 특정 열에 대해 정의된 경우 기본값을 재정의합니다. 도메인과 연결되어 있습니다. 그러면 도메인 기본값이 재정의됩니다. 기본 데이터 유형과 관련된 기본값입니다.

제약제약_이름

제약조건에 대한 선택적 이름입니다. 지정하지 않으면 시스템 generates a name.

NULL이 아님

이 도메인의 값은 일반적으로 null이 되는 것이 방지됩니다. 그러나 이 제약 조건이 있는 도메인에서는 여전히 다음과 같은 작업이 가능합니다. 일치하는 도메인 유형이 할당된 경우 null 값을 사용합니다. null이 됩니다. LEFT OUTER JOIN을 통해 또는INSERT INTO 탭(domcol) VALUES((SELECT domcol FROM 탭 WHERE false)).

NULL

이 토토 캔의 값은 null이 허용됩니다. 이것은 기본.

이 조항은 비표준 버전과의 호환성만을 위한 것입니다. SQL 데이터베이스. 새로운 애플리케이션에서는 사용이 권장되지 않습니다.

확인(expression)

확인절은 무결성을 지정합니다. 도메인의 값이 만족해야 하는 제약 조건이나 테스트입니다. 각 제약 조건은 부울 결과를 생성하는 표현식이어야 합니다. 그것 키워드를 사용해야 합니다VALUE참조하다 테스트 중인 값입니다.

현재,확인표현식은 사용할 수 없습니다. 하위 쿼리를 포함하지 않으며 이외의 변수를 참조하지도 않습니다..

Examples

이 예는 다음을 생성합니다.us_postal_code데이터 유형을 선택한 다음 테이블 정의의 유형을 사용합니다. 정규 표현식 테스트는 값이 유효한지 확인하는 데 사용됩니다. 미국 우편번호:

DOMAIN us_postal_code를 텍스트로 생성
확인하다(
   VALUE ~ '^\d5$'
OR 값 ~ '^\d5-\d4$'
);

테이블 만들기 us_snail_addy(
  address_id 직렬 기본 키,
  street1 텍스트는 NULL이 아닙니다.
  스트리트 2 텍스트,
  스트리트 3 텍스트,
  도시 텍스트는 NULL이 아닙니다.
  우편번호 us_postal_code NOT NULL
);

호환성

명령어토토 캔 만들기다음에 따름 SQL 표준입니다.