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

토토 생성

이름

토토 생성-새를 정의하십시오 집계 기능

시놉시스

토토 생성이름(BaseType =input_data_type,
    sfunc =sfunc, stype =state_type[, finalfunc =ffunc]
    [, initcond =Initial_Condition])

입력

이름

생성 할 총 기능의 이름.

input_data_type

이 집계 기능의 입력 데이터 유형 작동합니다. 이것은 집계에 대해 지정할 수 있습니다 입력 값을 검사하지 않습니다 (예 :count (*)).

sfunc

각 입력 데이터 값에 대해. 이것은 일반적으로의 함수입니다 두 가지 주장, 첫 번째 유형state_type그리고 두 번째 유형input_data_type. 대안 적으로, 그것의 검사를하지 않는 집계 입력 값, 함수는 하나의 인수 만 가져옵니다 유형state_type. ~ 안에 어떤 경우, 함수는 유형의 값을 반환해야합니다state_type. 이 기능 현재 상태 값과 현재 입력 데이터를 취합니다. 항목, 다음 상태 값을 반환합니다.

state_type

토토 상태 값의 데이터 유형.

ffunc

모든 입력 데이터가 발생한 후 집계 결과 가로. 함수는 하나의 논증을 취해야합니다 유형state_type. 그만큼 토토의 출력 데이터 유형은 이 기능의 반환 유형. 만약에ffunc지정되지 않은 다음 결말 상태 가치는 집계 결과로 사용되며 출력 유형은입니다.State_type.

Initial_Condition

상태 값의 초기 설정. 이것은해야합니다 데이터 유형에 대해 허용되는 양식의 문자 상수State_type. 그렇지 않다면 지정된 상태 가치는 NULL에서 시작합니다.

출력

생성

명령이 완료되면 메시지가 반환됩니다 성공적으로.

설명

토토 생성사용자 또는 허용합니다 확장 할 프로그래머PostgreSQL새로운 토토 함수를 정의하여 기능. 일부 토토 와 같은 기본 유형의 함수min (정수)andAVG (Double Precision)이미 제공되었습니다 기본 분포. 새로운 유형을 정의하거나 필요한 경우 아직 제공되지 않은 토토 기능토토 생성원하는 것을 제공하는 데 사용할 수 있습니다 특징.

집계 함수는 이름 및 입력 데이터로 식별됩니다. 유형. 두 개의 골재가 작동하는 경우 동일한 이름을 가질 수 있습니다. 다른 입력 유형. 혼란을 피하려면 만들지 마십시오 동일한 이름 및 입력 데이터 유형의 일반 기능은 골재.

토토 함수는 하나 또는 두 개의 일반에서 만들어집니다. 함수 : 상태 전환 기능sfunc및 선택적 최종 계산 기능ffunc. 이것들은 다음과 같이 사용됩니다 다음은 다음과 같습니다.

sfunc(내부 상태, 차세대 자산) --- 다음 내부 상태ffunc(내부 상태) --- 토토 값

postgresql생성 a 데이터 유형의 임시 변수Stype현재 내부 상태를 유지합니다 집계. 각 입력 데이터 항목에서 상태 전환 새로운 내부 상태 값을 계산하기 위해 함수가 호출됩니다. 모든 데이터가 처리 된 후 최종 기능은 집계의 출력 값을 계산하기 위해 한 번 호출했습니다. 거기 있다면 최종 기능이 없으면 종료 상태 값이 반환됩니다. 있는 그대로.

토토 함수는 초기 조건을 제공 할 수 있습니다 내부 상태 값의 초기 값입니다. 이것은 데이터베이스에 유형 필드로 지정되고 저장텍스트이지만 유효한 외부 여야합니다 상태 가치 데이터 유형의 상수 표현. 만약 공급되지 않으면 상태 가치가 시작됩니다.

상태 전환 함수가 선언 된 경우"엄격한", NULL로 호출 할 수 없습니다 입력. 이러한 전환 기능을 사용하면 집계 실행 다음과 같이 동작합니다. 널 입력 값이 무시됩니다 (함수 호출되지 않고 이전 상태 값이 유지됩니다). 만약 초기 상태 값은 NULL이면 최초의 비 널 입력 값입니다. 상태 값을 대체하면 전환 기능이 호출됩니다. 두 번째 비 널 입력 값으로 시작합니다. 이것은 편리합니다 와 같은 집계 구현max. 이 동작은에만 사용할 수 있습니다.state_type|input_data_type. 이러한 유형이있을 때 다르면, 당신은 null이 아닌 초기 조건을 제공하거나 사용해야합니다. 비 강력한 전환 기능.

상태 전환 함수가 엄격하지 않으면 각 입력 값에서 무조건적으로 호출되며 널 입력 및 널 전환 값 자체. 이것은 허용합니다 집계 제자가 집계를 완전히 제어 할 수 있습니다. 널 처리.

최종 함수가 선언 된 경우"엄격한"결말 상태 값은 널입니다. 대신 널 결과가 출력됩니다 자동으로. (물론 이것은 단지 정상적인 행동입니다 엄격한 함수.) 어쨌든 최종 기능에는 옵션이 있습니다. 귀환 널의. 예를 들어,의 최종 기능avg거기에서 볼 때 Null을 반환합니다 입력 튜플이 제로였습니다.

노트

use삭제 토토토토를 삭제합니다 기능.

의 매개 변수토토 생성그림이 표시된 순서뿐만 아니라 어떤 순서로든 작성할 수 있습니다. 위에.

usage

의 토토 함수에 대한 장을 참조하십시오.PostgreSQL 프로그래머 안내서완료 사용의 예.

호환성

SQL92

토토 생성isPostgreSQL언어 확장. 없음토토 생성sql92.