토토 생성이름[AS] (BaseType =data_type[, sfunc1 =sfunc1, stype1 =sfunc1_return_type] [, sfunc2 =sfunc2, stype2 =sfunc2_return_type] [, finalfunc =ffunc] [, initcond1 =Initial_Condition1] [, initcond2 =Initial_Condition2] )
생성 할 총 기능의 이름.
이 토토의 기본 데이터 유형 기능은 작동합니다.
모든 주 전환 기능은 모든 것을 요구합니다 소스 열에서 널 필드. 변수가 필요합니다 유형sfunc1_return_type첫 번째 인수와 그 필드는 두 번째 인수입니다. 논쟁.
첫 번째 전환 함수의 리턴 유형.
모든 주 전환 기능은 모든 것을 요구합니다 소스 열에서 널 필드. 변수가 필요합니다 유형sfunc2_return_type유일한 인수로서 동일한 변수를 반환합니다. 유형.
두 번째 전환 함수의 리턴 유형.
모든 입력을 통과 한 후 호출 된 최종 함수 전지. 이 기능은 유형의 두 가지 인수를 취해야합니다sfunc1_return_typeandsfunc2_return_type.
첫 번째 전환 함수의 초기 값 논쟁.
두 번째 전환 함수의 초기 값 논쟁.
명령이 완료되면 메시지가 반환됩니다 성공적으로.
토토 생성허용 사용자 또는 확장 할 프로그래머Postgres새로운 토토 함수를 정의하여 기능. 일부 토토 와 같은 기본 유형의 함수min (int4)andavg (float8)이미베이스에 제공되었습니다 분포. 새로운 유형을 정의하거나 토토가 필요한 경우 아직 제공되지 않은 기능생성 골재원하는 기능을 제공하는 데 사용할 수 있습니다.
토토 함수는 최대 3 개의 함수, 2 상태 전환 기능,sfunc1andsfunc2:
sfunc1(내부 상태 1, Next-Data_item) --- 다음 내부 상태 1sfunc2(내부 상태 2) --- 다음 내부 상태 2및 최종 계산 함수,ffunc:
ffunc(내부 상태 1, 내부 상태 2) --- 토토 값
9다운로드9최대 2 개를 만듭니다 임시 변수 (여기서temp1및temp2) 중간 결과를 사용하여 사용합니다 전환 기능에 대한 인수.
이러한 전환 함수는 다음과 같이 필요합니다 속성:
sfunc1temp1of Typesfunc1_return_type및column_valueOF TYPEdata_type. 반환 값 유형이어야합니다sfunc1_return_type다음 호출의 첫 번째 논쟁sfunc1.
인수와 반환 값sfunc2temp2OF TYPEsfunc2_return_type.
최종 계산 기능에 대한 인수는temp1andtemp2그리고 그 반환 값은 A이어야합니다.Postgres기본 유형 (아님 반드시data_typeBaseType에 대해 지정되었습니다).
FinalFunc은 둘 다이면 만 지정해야합니다 상태 변환 기능이 지정되어 있습니다.
토토 함수는 또한 하나 또는 두 개의 초기를 필요로 할 수도 있습니다. 조건, 각 전환 기능마다 하나씩. 이들은 지정됩니다 데이터베이스에 유형의 필드로 저장텍스트.
use삭제 토토토토를 삭제합니다 기능.
보유한 토토 함수를 지정할 수 있습니다 상태와 최종 기능의 다양한 조합. 예를 들어, 그만큼count집계는 sfunc2를 필요로합니다 (증분 함수) 그러나 sfunc1 또는 finalfunc는 아닙니다 그만큼Sum집계가 sfunc1 (an 첨가 함수) 그러나 sfunc2 또는 finalfunc 및가 아닙니다.avg집계는 두 가지를 모두 필요로합니다 위의 상태 기능과 최종 펀치 (부서 기능) 답변을 생성합니다. 어쨌든 적어도 하나 이상 상태 함수는 정의되어야하며 모든 sfunc2는 해당 InitCond2.
의 토토 함수에 대한 장을 참조하십시오PostgreSQL 프로그래머 안내서토토 사용의 완전한 예를위한 기능.
토토 생성isPostgres언어 확장. 없음토토 생성sql92.