이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 36.2. PostgreSQL 토토 베이 시스템버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

35.2.PostgreSQL스포츠 토토 시스템

PostgreSQL데이터 스포츠 토토은 기본 스포츠 토토, 복합 스포츠 토토, 도메인 및 의사 스포츠 토토으로 구분됩니다.

35.2.1. 기본 유형

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

35.2.2. 복합 유형

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

35.2.3. 도메인

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

도메인은 다음을 사용하여 생성될 수 있습니다.SQL명령도메인 만들기. 이 장에서는 생성 및 사용에 대해 논의하지 않습니다.

35.2.4. 의사 유형

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

35.2.5. 다형성 스포츠 토토

특별한 관심을 끄는 5가지 의사 유형은 다음과 같습니다.모든 요소, 아무 배열, anynonarray, anyenumanyrange, 통칭다형성 스포츠 토토. 이러한 유형을 사용하여 선언된 모든 함수는 다음과 같습니다.다형성 함수. 다형성 함수는 다양한 데이터 유형에 대해 작동할 수 있으며, 특정 데이터 유형은 특정 호출에서 실제로 전달된 데이터 유형에 의해 결정됩니다.

다형성 인수와 결과는 서로 연결되어 있으며 다형성 함수를 호출하는 쿼리가 구문 분석될 때 특정 데이터 유형으로 확인됩니다. 다음과 같이 선언된 각 위치(인수 또는 반환 값)는모든 요소특정 실제 데이터 유형을 가질 수 있지만 특정 호출에서는 모두 다음과 같아야 합니다.같은실제 유형. 각 직위는 다음과 같이 선언됩니다.임의배열모든 배열 데이터 유형을 가질 수 있지만 마찬가지로 모두 동일한 유형이어야 합니다. 마찬가지로, 다음과 같이 선언된 위치는anyrange모두 동일한 범위 스포츠 토토이어야 합니다. 또한, 선언된 직위가 있는 경우모든 배열및 기타 선언모든 요소, 실제 배열 스포츠 토토은임의 배열위치는 요소가 다음에 나타나는 것과 동일한 유형인 배열이어야 합니다.모든 요소위치. 마찬가지로 선언된 직위가 있는 경우anyrange및 기타 선언모든 요소, 실제 범위 스포츠 토토은anyrange위치는 하위 유형이 다음에 나타나는 유형과 동일한 범위여야 합니다.모든 요소위치.anynonarray다음과 정확히 동일하게 취급됩니다.모든 요소, 그러나 실제 스포츠 토토이 배열 스포츠 토토이 아니어야 한다는 추가 제약 조건을 추가합니다.anyenum다음과 정확히 동일하게 취급됩니다.모든 요소, 그러나 실제 스포츠 토토은 열거형 스포츠 토토이어야 한다는 추가 제약 조건을 추가합니다.

따라서 하나 이상의 인수 위치가 다형성 스포츠 토토으로 선언되면 최종 효과는 실제 인수 유형의 특정 조합만 허용된다는 것입니다. 예를 들어, 다음과 같이 선언된 함수는같음(모든 요소, 모든 요소)동일한 데이터 스포츠 토토인 한 두 개의 입력 값을 사용합니다.

함수의 반환 값이 다형성 스포츠 토토으로 선언되면 역시 다형성인 인수 위치가 하나 이상 있어야 하며 인수로 제공된 실제 데이터 유형이 해당 호출에 대한 실제 결과 유형을 결정합니다. 예를 들어 배열 첨자 메커니즘이 아직 없다면 다음과 같이 첨자를 구현하는 함수를 정의할 수 있습니다.subscript(anyarray, 정수)는 모든 요소를 반환합니다.. 이 선언은 실제 첫 번째 인수를 배열 유형으로 제한하고 구문 분석기가 실제 첫 번째 인수 유형에서 올바른 결과 유형을 추론할 수 있도록 합니다. 또 다른 예는 다음과 같이 선언된 함수입니다.f(anyarray)는 anyenum을 반환합니다.열거형 배열만 허용합니다.

참고anynonarray그리고anyenum별도의 유형 변수를 나타내지 않습니다. 그들은 다음과 같은 유형입니다.모든 요소, 추가 제약 조건이 있습니다. 예를 들어 함수를 다음과 같이 선언합니다.f(모든 요소, 모든 항목)다음과 같이 선언하는 것과 같습니다f(anyenum, anyenum): 두 실제 인수는 모두 동일한 열거형 스포츠 토토이어야 합니다.

가변 함수(다음과 같이 가변 개수의 인수를 취하는 함수섹션 35.4.5)는 다형성일 수 있습니다. 이는 마지막 매개변수를 다음과 같이 선언하여 수행됩니다.VARIADIC 모든 배열. 인수 일치 및 실제 결과 스포츠 토토 결정을 위해 이러한 함수는 적절한 개수의를 작성한 것처럼 동작합니다.anynonarray매개변수.