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

36.2. 그만큼postgresql타입 시스템

postgresql데이터 스포츠 토토 결과은 기본 스포츠 토토 결과, 복합 스포츠 토토 결과, 도메인 및 의사 스포츠 토토 결과으로 나뉩니다.

36.2.1. 기본 스포츠 토토 결과

기본 스포츠 토토 결과은와 같은 것입니다.int4, 그것은 아래에서 구현됩니다SQL언어 (일반적으로 C와 같은 저수준 언어). 일반적으로 추상 데이터 스포츠 토토 결과으로 자주 알려진 것에 해당합니다.PostgreSQL사용자가 제공 한 함수를 통해서만 해당 스포츠 토토 결과에서만 작동 할 수 있으며 사용자가 설명하는 정도까지 그러한 스포츠 토토 결과의 동작 만 이해합니다. 기본 스포츠 토토 결과은 스칼라 및 어레이 스포츠 토토 결과으로 더 세분화됩니다. 각 스칼라 스포츠 토토 결과에 대해 해당 스칼라 스포츠 토토 결과의 가변 크기 배열을 보유 할 수있는 해당 배열 스포츠 토토 결과이 자동으로 생성됩니다.

36.2.2. 복합 스포츠 토토 결과

사용자가 테이블을 만들 때마다 복합 스포츠 토토 결과 또는 행 스포츠 토토 결과이 생성됩니다. 또한 사용하는 것도 가능합니다PostgreSQL : 문서a"독립형"관련 테이블이없는 복합 스포츠 토토 결과. 복합 스포츠 토토 결과은 단순히 필드 이름이 관련된 스포츠 토토 결과 목록입니다. 복합 스포츠 토토 결과의 값은 필드 값의 행 또는 레코드입니다. 사용자는의 구성 요소 필드에 액세스 할 수 있습니다.SQL쿼리. 참조섹션 8.16복합 스포츠 토토 결과에 대한 자세한 내용은

36.2.3. 도메인

도메인은 특정 기본 스포츠 토토 결과을 기반으로하며 많은 목적으로 기본 스포츠 토토 결과과 상호 교환 할 수 있습니다. 그러나 도메인은 유효한 값을 기본 기본 스포츠 토토 결과의 하위 집합으로 제한하는 제약 조건을 가질 수 있습니다.

도메인은를 사용하여 생성 할 수 있습니다SQL명령도메인 생성. 이 장에서는 그들의 창조와 사용에 대해 논의하지 않습니다.

36.2.4. 의사 스포츠 토토 결과

몇 가지가 있습니다"의사 스포츠 토토 결과"특별한 목적. 의사 스포츠 토토 결과은 복합 스포츠 토토 결과의 테이블 또는 속성의 열로 나타날 수 없지만 인수 및 결과 스포츠 토토 결과을 선언하는 데 사용될 수 있습니다. 이것은 스포츠 토토 결과 시스템 내에서 특수 클래스의 기능을 식별하는 메커니즘을 제공합니다.표 8-25기존 의사 스포츠 토토 결과을 나열합니다.

36.2.5. 다형성 스포츠 토토 결과

특별한 관심의 5 개의 의사 스포츠 토토 결과은Anylement, AnyArray, AnynonArray, AnyEnumAnyRange다형성 스포츠 토토 결과. 이러한 스포츠 토토 결과을 사용하여 선언 된 모든 기능은 A라고합니다.다형성 기능. 다형성 기능은 여러 다른 데이터 유형에서 작동 할 수 있으며 특정 데이터 유형은 특정 호출에서 실제로 전달 된 데이터 유형에 의해 결정됩니다..

다형성 인수와 결과는 서로 연결되어 있으며 다형성 기능을 호출하는 쿼리가 구문 분석 될 때 특정 데이터 유형으로 해결됩니다. 각 직책 (인수 또는 반환 값)은로 선언했습니다.Anylement특정 실제 데이터 스포츠 토토 결과을 가질 수 있지만 특정 호출에서는 모두이어야합니다.동일실제 스포츠 토토 결과. 각 위치는로 선언되었습니다.AnyArray배열 데이터 유형을 가질 수 있지만 마찬가지로 모두 동일한 유형이어야합니다. 그리고 마찬가지로, 직책은로 선언되었습니다.AnyRange모두 동일한 범위 유형이어야합니다. 또한, 선언 된 직책이 있다면AnyArray그리고 다른 사람들이 선언Anylement,의 실제 배열 스포츠 토토 결과AnyArray위치는 요소가 동일한 유형 인 배열이어야합니다.Anylement위치. 마찬가지로, 선언 된 직책이 있다면AnyRange그리고 다른 사람들은 선언Anylement또는AnyArray,의 실제 범위 스포츠 토토 결과AnyRange위치는 하위 유형이 동일한 유형 인 범위 여야합니다Anylement위치 및 요소 유형과 동일합니다AnyArray위치.AnynonArray|Anylement, 그러나 실제 스포츠 토토 결과이 배열 스포츠 토토 결과이되어서는 안된다는 추가 제약 조건을 추가합니다.AnyEnum|Anylement, 그러나 실제 스포츠 토토 결과이 열거 된 스포츠 토토 결과이어야한다는 추가 제약 조건을 추가합니다.

따라서, 다형성 스포츠 토토 결과으로 둘 이상의 인수 위치가 선언되면, 순 효과는 실제 인수 유형의 특정 조합 만 허용된다는 것입니다. 예를 들어,로 선언 된 함수Equal (Anylement, Anylement)동일한 데이터 유형 인 한 두 개의 입력 값을 취합니다.

함수의 반환 값이 다형성 스포츠 토토 결과으로 선언되면 다형성 인 인수 위치가 하나 이상 있어야하며 인수로 제공되는 실제 데이터 유형은 해당 호출의 실제 결과 유형을 결정합니다. 예를 들어, 배열 위트 스크립팅 메커니즘이 아직 없으면 첨자를 |첨자 (AnyArray, Integer)를 반환합니다. 이 선언은 실제 첫 번째 인수가 배열 스포츠 토토 결과으로 제한되며, 파서는 실제 첫 번째 인수 스포츠 토토 결과에서 올바른 결과 스포츠 토토 결과을 유추 할 수 있습니다. 또 다른 예는로 선언 된 함수입니다.f (Anyarray) 반환열거 스포츠 토토 결과의 배열 만 허용합니다.

대부분의 경우, 파서는 다형성 스포츠 토토 결과이 다른 인수의 다형성 결과 유형에 대한 실제 데이터 유형을 유추 할 수 있습니다. 예를 들어AnyArray에서 추론 할 수 있습니다Anylement또는 그 반대도 마찬가지입니다. 예외는 유형의 다형성 결과입니다AnyRange스포츠 토토 결과의 인수가 필요합니다AnyRange; 에서 추론 할 수 없습니다AnyArray또는Anylement인수. 동일한 하위 유형의 여러 범위 유형이있을 수 있기 때문입니다.

참고AnynonArrayandAnyEnum별도의 스포츠 토토 결과 변수를 나타내지 마십시오. 그들은와 같은 스포츠 토토 결과입니다.Anylement, 추가적인 제약 조건. 예를 들어 함수를 선언f (Anylement, Anyenum)|F (Anyenum, Anyenum): 실제 인수는 모두 동일한 열거 형이어야합니다.

변수 함수 (하나는 변수 수의 인수를 취하는 것과 같이섹션 36.4.5)는 다형성이 될 수 있습니다 : 이것은 마지막 매개 변수를로 선언함으로써 달성됩니다.variadic AnyArray. 실제 결과 유형을 일치시키고 결정하기 위해, 그러한 함수는 적절한 숫자를 작성한 것과 동일하게 동작합니다AnynonArray매개 변수.