이 문서는 지원되지 않는 버전의 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에서 시작합니다.

출력

생성

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

설명

젠 토토 생성사용자 또는 허용합니다 확장 할 프로그래머Postgres새로운 젠 토토 함수를 정의하여 기능. 일부 젠 토토 와 같은 기본 유형의 함수min (정수)andavg (더블 정도)이미 기본 분포에 제공되었습니다. 만약에 하나는 새로운 유형을 정의하거나 이미지가 아닌 젠 토토 함수가 필요합니다. 제공,젠 토토 생성할 수 있습니다 원하는 기능을 제공하는 데 사용됩니다.

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

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

sfunc(내부 상태, 차세대-이종) --- 다음 내부 상태ffunc(내부 상태) --- 젠 토토 값

Postgres임시를 만듭니다 데이터 유형 변수Stypeto 골재의 현재 내부 상태를 유지하십시오. 각 입력에서 데이터 항목, 상태 전환 기능은 계산을 위해 호출됩니다. 새로운 내부 상태 값. 모든 데이터가 끝난 후 처리 된 최종 기능은 한 번 호출하여 계산됩니다. 집계의 출력 값. 최종 기능이 없다면 결말 상태 가치는 as- as-is. 반환됩니다.

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

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

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

최종 함수가 "엄격"으로 선언되면 그렇지 않습니다. 결말 상태 값이 무일하게있을 때 호출됩니다. 대신 널 결과는 자동으로 출력됩니다. (물론 이것은 단지입니다 엄격한 기능의 정상적인 동작.) 어쨌든 최종 함수는 NULL을 반환 할 수있는 옵션이 있습니다. 예를 들어, 최종 foravgnull을 반환 할 때 입력 튜플이 제로가 있음을 봅니다.

노트

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

18504_18524젠 토토 생성묘사 된 순서뿐만 아니라 어떤 순서로든 작성할 수 있습니다. 위에.

usage

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

호환성

SQL92

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