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

토토 핫 생성

이름

토토 핫 생성 - 새로운 집계 함수를 정의
토토 핫 생성이름[AS]
    (BaseType =data_type[, sfunc1 =sfunc1, stype1 =sfunc1_return_type]
    [, sfunc2 =sfunc2, stype2 =sfunc2_return_type]
    [, finalfunc =ffunc]
    [, initcond1 =Initial_Condition1]
    [, initcond2 =Initial_Condition2]
    )

입력

이름

생성 할 총 기능의 이름.

data_type

이 토토 핫의 기본 데이터 유형 기능은 작동합니다.

sfunc1

모든 주 전환 기능은 모든 것을 요구합니다 소스 열에서 널 필드. 변수가 필요합니다 유형sfunc1_return_type첫 번째 인수와 그 필드는 두 번째 인수입니다. 논쟁.

sfunc1_return_type

첫 번째 전환 함수의 리턴 유형.

sfunc2

모든 주 전환 기능은 모든 것을 요구합니다 소스 열에서 널 필드. 변수가 필요합니다 유형sfunc2_return_type유일한 인수로서 동일한 변수를 반환합니다. 유형.

sfunc2_return_type

두 번째 전환 함수의 리턴 유형.

ffunc

모든 입력을 통과 한 후 호출 된 최종 함수 전지. 이 기능은 유형의 두 가지 인수를 취해야합니다sfunc1_return_typeandsfunc2_return_type.

Initial_Condition1

첫 번째 전환 함수의 초기 값 논쟁.

Initial_Condition2

두 번째 전환 함수의 초기 값 논쟁.

출력

Create

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

설명

토토 핫 생성사용자 또는 허용합니다 확장 할 프로그래머Postgres새로운 토토 핫 함수를 정의하여 기능. 일부 토토 핫 와 같은 기본 유형의 함수min (int4)andavg (float8)이미베이스에 제공되었습니다 분포. 새로운 유형을 정의하거나 토토 핫가 필요한 경우 아직 제공되지 않은 기능생성 골재원하는 기능을 제공하는 데 사용할 수 있습니다.

토토 핫 함수는 최대 3 개의 함수, 2 상태 전환 기능,sfunc1sfunc2:

sfunc1(내부 상태 1, Next-Data_item) --- 다음 내부 상태 1sfunc2(내부 상태 2) --- 다음 내부 상태 2
및 최종 계산 함수,ffunc:
ffunc(내부 상태 1, 내부 상태 2) --- 토토 핫-값

Postgres최대 2 개를 만듭니다 임시 변수 (여기서temp1andtemp2) 중간 결과를 사용하여 사용합니다 전환 기능에 대한 인수.

이러한 전환 함수는 다음과 같이 필요합니다 속성:

  • 논쟁sfunc1temp1of Typesfunc1_return_typeandcolumn_valueOF TYPEdata_type. 반환 값 유형이어야합니다sfunc1_return_type다음 호출의 첫 번째 논쟁sfunc1.

  • 인수와 반환 값sfunc2temp2의 유형sfunc2_return_type.

  • 최종 계산 기능에 대한 인수는이어야합니다.temp1andtemp2그리고 반환 값은이어야합니다.Postgres기본 유형 (아님 반드시data_typeBaseType에 대해 지정되었습니다).

  • FinalFunc을 둘 다 한 경우에만 지정해야합니다 상태 변환 기능이 지정되어 있습니다.

토토 핫 함수는 또한 하나 또는 두 개의 초기를 필요로 할 수도 있습니다. 조건, 각 전환 기능마다 하나씩. 이들은 지정됩니다 데이터베이스에 유형의 필드로 저장텍스트.

노트

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

보유한 토토 핫 함수를 지정할 수 있습니다 상태와 최종 기능의 다양한 조합. 예를 들어, 그만큼count집계는 sfunc2를 필요로합니다 (증분 함수) 그러나 sfunc1 또는 finalfunc는 아닙니다 그만큼Sum집계가 sfunc1 (an 첨가 함수) 그러나 sfunc2 또는 finalfunc 및가 아닙니다.avg집계는 두 가지를 모두 필요로합니다 위의 상태 기능과 최종 펀치 (부서 기능) 답변을 생성합니다. 어쨌든 적어도 하나 이상 상태 함수는 정의되어야하며 모든 sfunc2는 해당 InitCond2.

usage

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

호환성

SQL92

토토 핫 생성isPostgres언어 확장. 없음토토 핫 생성sql92.