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

34.2. 그만큼postgresql타입 시스템

postgresql데이터 배트맨 토토은입니다 기본 배트맨 토토, 복합 배트맨 토토, 도메인 및 의사 배트맨 토토.

34.2.1. 베이스 배트맨 토토

기본 배트맨 토토은와 같은 것입니다.int4, 그 수준 아래에서 구현됩니다.SQL언어 (일반적으로 낮은 수준으로 C)와 같은 언어. 그것들은 일반적으로 무엇에 해당합니다 종종 추상 데이터 배트맨 토토으로 알려져 있습니다.PostgreSQL그러한 배트맨 토토에서만 작동 할 수 있습니다 사용자가 제공 한 기능을 통해 사용자가 설명하는 정도까지 그러한 배트맨 토토의 동작 그들을. 기본 배트맨 토토은 스칼라와 어레이로 더 세분화됩니다 배트맨 토토. 각 스칼라 배트맨 토토에 대해 해당 배열 배트맨 토토이 있습니다 가변 크기 배열을 보유 할 수있는 자동 생성 그 스칼라 타입.

34.2.2. 복합 배트맨 토토

composite 배트맨 토토 또는 행 배트맨 토토은 사용자가 생성됩니다. 테이블을 만듭니다. 또한 사용하는 것도 가능합니다배트맨 토토 만들기a"독립형"관련이없는 복합 배트맨 토토 테이블. 복합 배트맨 토토은 단순히 배트맨 토토 목록입니다. 관련 필드 이름. 복합 배트맨 토토의 값은 행 또는 필드 값의 기록. 사용자는 구성 요소에 액세스 할 수 있습니다 의 필드SQL쿼리. 참조섹션 8.15더 많은 것 복합 배트맨 토토에 대한 정보.

34.2.3. 도메인

도메인은 특정 기본 배트맨 토토을 기반으로하며 많은 사람들을 기반으로합니다. 목적은 기본 배트맨 토토과 상호 교환 가능합니다. 그러나 a 도메인은 유효한 값을 기본 기본 배트맨 토토이 허용하는 것의 하위 집합.

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

34.2.4. 의사 배트맨 토토

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

34.2.5. 다형성 배트맨 토토

특별한 관심의 4 개의 의사 배트맨 토토은Anylement, AnyArray, AnynonArrayAnyEnum, 총체적으로 호출다형성 배트맨 토토. 사용하여 선언 된 모든 기능 이 배트맨 토토은라고합니다.다형성 기능. 다형성 기능은 많은 사람들에게 작동 할 수 있습니다 특정 데이터 배트맨 토토이있는 다른 데이터 배트맨 토토 실제로 전달 된 데이터 배트맨 토토에 의해 결정됩니다. 특정 전화.

다형성 논증과 결과는 서로 연결되어 있으며 쿼리가 호출 할 때 특정 데이터 배트맨 토토으로 해결됩니다. 다형성 기능이 구문 분석됩니다. 각 위치 (어느 주장도 또는 반품 값) 선언Anylement특정 실제 데이터 배트맨 토토을 가질 수 있지만 전화가 주어지면 그들은 모두이어야합니다.동일실제 배트맨 토토. 각 위치 로 선언AnyArray배열을 가질 수 있습니다 데이터 유형이지만 마찬가지로 모두 동일한 유형이어야합니다. 만약에 선언 된 직책이 있습니다AnyArray및 다른 사람들은 선언했다Anylement, 실제 배열 배트맨 토토AnyArray포지션이 필요합니다 요소가에 나타나는 동일한 유형의 배열이 되십시오.Anylement위치.AnynonArray|Anylement그러나 추가를 추가합니다 실제 배트맨 토토이 배열 배트맨 토토이되어서는 안된다는 제약 조건.Anyenum|Anylement그러나 추가를 추가합니다 실제 배트맨 토토이 열거 된 배트맨 토토이어야한다는 제약.

따라서 둘 이상의 인수 위치가 선언 될 때 다형성 배트맨 토토, 순 효과는 실제 인수 유형의 조합이 허용됩니다. 예를 들어, 로 선언 된 함수동등한 (Anylement, anylement)는 두 개의 입력 값을 사용합니다 그들은 동일한 데이터 유형입니다.

함수의 반환 값이 다형성 배트맨 토토, 적어도 하나의 인수 위치가 있어야합니다. 그것은 또한 다형성이며, 실제 데이터 유형은 인수는 해당 호출의 실제 결과 유형을 결정합니다. 예를 들어, 배열 첨자가없는 경우 메커니즘, 하나는 구현하는 함수를 정의 할 수 있습니다 로브 스크립팅첨자 (AnyArray, 정수) 반환 친. 이 선언은 제한됩니다 실제 첫 번째 인수는 배열 배트맨 토토이며 실제 첫 번째에서 올바른 결과 배트맨 토토을 추론하는 파서 인수의 배트맨 토토. 또 다른 예는로 선언 된 함수입니다.f (Anyarray) 반환열거 배트맨 토토의 배열 수락.

참고AnynonArrayandAnyEnum별도의 배트맨 토토 변수를 나타내지 마십시오. 그들은와 같은 배트맨 토토입니다.Anylement, 추가적인 제약으로. 예를 들어, 선언 a 기능f (Anylement, Anyenum)is 그것을 선언하는 것과 동일합니다f (Anyenum, Anyenum): 실제 인수는 모두 동일한 열거되어야합니다. 유형.