| 윈 토토 : 문서 : 9.4 : 윈 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.4 : 토토 사이트 순위 생성 | PostgreSQL : 문서 : 9.4 : SQL 윈 토토 | PostgreSQL : 문서 : 9.4 : 이벤트 젠 토토 만들기 | |
스포츠 토토 결과 만들기이름[ 그대로 ]데이터_유형[ 대조조합]
[ 기본표현 ]
[ 제약 [ ... ] ]
어디에서제약다음과 같습니다:[ 제약제약_이름]
NULL이 아님 | NULL | 확인(표현) }스포츠 토토 결과 만들기새 도메인을 생성합니다. 도메인은 본질적으로 선택적 제약 조건(허용되는 값 집합에 대한 제한 사항)이 있는 데이터 유형입니다. 도메인을 정의하는 사용자가 도메인의 소유자가 됩니다.
스키마 이름이 제공된 경우(예:스포츠 토토 결과 myschema.mydomain 생성 ...) 그러면 지정된 스키마에 도메인이 생성됩니다. 그렇지 않으면 현재 스키마에 생성됩니다. 도메인 이름은 해당 스키마에 존재하는 유형 및 도메인 중에서 고유해야 합니다.
도메인은 유지 관리를 위해 필드에 대한 공통 제약 조건을 단일 위치로 추상화하는 데 유용합니다. 예를 들어 여러 테이블에 이메일 주소 열이 포함될 수 있으며, 모두 주소 구문을 확인하기 위해 동일한 CHECK 제약 조건이 필요합니다. 각 테이블의 제약 조건을 개별적으로 설정하는 대신 도메인을 정의하세요.
도메인을 생성하려면 다음이 있어야 합니다.사용기본 유형에 대한 권한.
생성될 도메인의 이름(선택적으로 스키마 한정).
스포츠 토토 결과의 기본 데이터 유형. 여기에는 배열 지정자가 포함될 수 있습니다.
도메인에 대한 선택적 대조입니다. 데이터 정렬을 지정하지 않으면 기본 데이터 형식의 기본 데이터 정렬이 사용됩니다. 다음과 같은 경우 기본 유형을 조합할 수 있어야 합니다.콜레이트지정되었습니다.
그기본값절은 도메인 데이터 유형의 열에 대한 기본값을 지정합니다. 값은 변수가 없는 표현식입니다(그러나 하위 쿼리는 허용되지 않음). 기본 표현식의 데이터 유형은 도메인의 데이터 유형과 일치해야 합니다. 기본값이 지정되지 않은 경우 기본값은 null 값입니다.
기본 표현식은 열의 값을 지정하지 않는 모든 삽입 작업에 사용됩니다. 특정 열에 대해 기본값이 정의되면 도메인과 연결된 모든 기본값이 재정의됩니다. 결과적으로 도메인 기본값은 기본 데이터 유형과 관련된 모든 기본값을 재정의합니다.
제약조건에 대한 선택적 이름입니다. 지정하지 않으면 시스템에서 이름을 생성합니다.
이 도메인의 값은 일반적으로 null이 되는 것이 방지됩니다. 그러나 이 제약 조건이 있는 도메인에 null이 된 일치하는 도메인 유형이 할당된 경우 여전히 null 값을 사용할 수 있습니다. LEFT OUTER JOIN을 통해 또는INSERT INTO 탭(domcol) VALUES ((SELECT domcol FROM 탭 WHERE false)).
이 도메인의 값은 null이 허용됩니다. 이것이 기본값입니다.
이 절은 비표준 SQL 데이터베이스와의 호환성만을 위한 것입니다. 새로운 애플리케이션에서는 사용이 권장되지 않습니다.
확인절은 무결성 제약 조건을 지정하거나 도메인 값이 충족해야 하는 테스트를 지정합니다. 각 제약 조건은 부울 결과를 생성하는 표현식이어야 합니다. 키워드를 사용해야 합니다.값테스트 중인 값을 참조합니다.
현재,확인식은 하위 쿼리를 포함할 수 없으며 이외의 변수를 참조할 수 없습니다.값.
이 예는 다음을 생성합니다.us_postal_code데이터 유형을 선택한 다음 테이블 정의의 유형을 사용합니다. 정규식 테스트는 값이 유효한 미국 우편번호인지 확인하는 데 사용됩니다.
DOMAIN us_postal_code를 텍스트로 생성 확인( 값 ~ '^\d5$' OR 값 ~ '^\d5-\d4$' ); 테이블 만들기 us_snail_addy( address_id 직렬 기본 키, street1 텍스트는 NULL이 아닙니다. 스트리트 2 텍스트, 스트리트 3 텍스트, 도시 텍스트는 NULL이 아닙니다. 우편번호 us_postal_code NOT NULL );
명령어스포츠 토토 결과 만들기SQL 표준을 준수합니다.
포스트그레SQL그렇다고 가정확인제약조건의 조건은 변경할 수 없습니다. 즉, 동일한 입력 값에 대해 항상 동일한 결과를 제공합니다. 이 가정은 조사를 정당화하는 것입니다.확인값이 스포츠 토토 결과 유형으로 처음 변환될 때만 제한되며 다른 경우에는 제한되지 않습니다. (이것은 본질적으로 테이블 처리와 동일합니다.확인제약조건, 다음에 설명된 대로섹션 5.3.1.)
이 가정을 깨는 일반적인 방법의 예는 다음에서 사용자 정의 함수를 참조하는 것입니다.확인표현식을 입력한 다음 해당 함수의 동작을 변경합니다.PostgreSQL이를 허용하지 않지만 현재 위반하는 도메인 유형의 저장된 값이 있는지 여부는 알 수 없습니다.확인제약. 이로 인해 후속 데이터베이스 덤프 및 다시 로드가 실패하게 됩니다. 이러한 변경을 처리하는 데 권장되는 방법은 제약 조건을 삭제하는 것입니다(스포츠 토토 결과 변경), 함수 정의를 조정하고 제약 조건을 다시 추가하여 저장된 데이터와 비교하여 다시 확인하세요.