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

34.2. 그만큼범퍼카 토토타입 시스템

범퍼카 토토데이터 유형은입니다 기본 유형, 복합 유형, 도메인 및 의사 유형.

34.2.1. 베이스 유형

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

34.2.2. 복합 유형

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

34.2.3. 도메인

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

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

34.2.4. 의사 유형

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

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): 실제 인수는 모두 동일한 열거되어야합니다. 유형.

변수 함수 (하나는 가변 수를 취합니다 논쟁,섹션 34.4.4)는 다형성이 될 수 있습니다 : 이것은 달성됩니다 마지막 매개 변수 선언variadic AnyArray. 을 위한 실제 결과를 일치시키고 결정하는 인수의 목적 유형, 그러한 함수는 당신이 작성한 것과 동일하게 동작합니다. 적절한 수AnynonArray매개 변수.