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

스포츠 토토 사이트 생성

이름

스포츠 토토 사이트 생성-새 집계 기능 정의

시놉시스

스포츠 토토 사이트 생성이름([argmode] [argname]arg_data_type[, ...]) (
    sfunc =sfunc,
    stype =state_data_type[, sspace =state_data_size]
    [, finalfunc =ffunc]
    [, finalfunc_extra]
    [, initcond =Initial_Condition]
    [, msfunc =msfunc]
    [, minvfunc =minvfunc]
    [, mstype =mstate_data_type]
    [, msspace =mstate_data_size]
    [, mfinalfunc =mffunc]
    [, mfinalfunc_extra]
    [, minitcond =minitial_condition]
    [, sortop =Sort_Operator]
))

스포츠 토토 사이트 생성이름([[argmode] [argname]arg_data_type[, ...]]
                        [ 주문Argmode] [argname]arg_data_type[, ...]) (
    sfunc =sfunc,
    stype =state_data_type[, sspace =state_data_size]
    [, finalfunc =ffunc]
    [, finalfunc_extra]
    [, initcond =Initial_Condition]
    [, 가상]
)또는 기존 구문스포츠 토토 사이트 생성이름(
    BaseType =base_type,
    sfunc =sfunc,
    stype =state_data_type[, sspace =state_data_size]
    [, finalfunc =ffunc]
    [, finalfunc_extra]
    [, initcond =Initial_Condition]
    [, msfunc =msfunc]
    [, minvfunc =minvfunc]
    [, mstype =MSTATE_DATA_TYPE]
    [, msspace =mstate_data_size]
    [, mfinalfunc =mffunc]
    [, mfinalfunc_extra]
    [, minitcond =minitial_condition]
    [, sortop =Sort_Operator]
)

설명

스포츠 토토 사이트 생성새로운 스포츠 토토 사이트 함수를 정의합니다. 일부 기본적이고 일반적으로 사용되는 스포츠 토토 사이트 함수는 분포에 포함됩니다. 그들은에 문서화되어 있습니다.PostgreSQL : 문서 : 9.5 : 토토 사이트 함수. 새 유형을 정의하거나 아직 제공되지 않은 스포츠 토토 사이트 함수가 필요한 경우스포츠 토토 사이트 생성원하는 기능을 제공하는 데 사용할 수 있습니다.

스키마 이름이 제공되는 경우 (예 :스포츠 토토 사이트 생성 myschema.myagg ...) 그러면 집계 함수가 지정된 스키마에서 생성됩니다. 그렇지 않으면 현재 스키마에서 생성됩니다.

집계 함수는 이름 및 입력 데이터 유형으로 식별됩니다. 동일한 스키마의 두 집계는 다른 입력 유형에서 작동하는 경우 동일한 이름을 가질 수 있습니다. 집계의 이름 및 입력 데이터 유형은 동일한 스키마의 모든 일반 기능의 이름 및 입력 데이터 유형과도 구별되어야합니다. 이 동작은 일반 기능 이름의 과부하와 동일합니다 (참조PostgreSQL : 문서 : 9.5 : 무지개 토토 만들기).

간단한 스포츠 토토 사이트 함수는 하나 또는 두 개의 일반 함수로 만들어집니다 : 상태 전환 함수sfunc및 선택적 최종 계산 함수ffunc. 이들은 다음과 같이 사용됩니다.

sfunc(내부 상태, 차세대 값) --- 다음 내부 상태ffunc(내부 상태) --- 스포츠 토토 사이트 값

PostgreSQL데이터 유형의 임시 변수 생성Stype집계의 현재 내부 상태를 유지합니다. 각 입력 행에서, 집계 인수 값 (들)이 계산되고 상태 전이 함수는 현재 상태 값과 새로운 인수 값으로 호출되어 새로운 내부 상태 값을 계산합니다. 모든 행이 처리 된 후에는 최종 기능이 한 번 호출되어 집계의 반환 값을 계산합니다. 최종 기능이 없으면 종료 상태 값이 as- as. 반환됩니다.

스포츠 토토 사이트 함수는 초기 조건, 즉 내부 상태 값의 초기 값을 제공 할 수 있습니다. 이것은 데이터베이스에 유형 값으로 지정되고 저장됩니다텍스트, 그러나 상태 값 데이터 유형의 상수를 유효한 외부 표현이어야합니다. 공급되지 않으면 상태 가치가 널에서 시작됩니다.

상태 전환 함수가 선언 된 경우"엄격한", 널 입력으로 호출 할 수 없습니다. 이러한 전환 기능을 사용하면 집계 실행이 다음과 같이 동작합니다. 널 입력 값이있는 행은 무시됩니다 (함수는 호출되지 않고 이전 상태 값이 유지됨). 초기 상태 값이 NULL 인 경우 All-Nonnull 입력 값이있는 첫 번째 행에서 첫 번째 인수 값은 상태 값을 대체하고 각 후속 행에서 All-Nonnull 입력 값으로 전환 함수가 호출됩니다. 이것은와 같은 집계를 구현하는 데 편리합니다.max. 이 동작은에만 사용할 수 있습니다.state_data_type첫 번째와 동일합니다arg_data_type. 이러한 유형이 다르면 초기 조건이 아닌 초기 조건을 제공하거나 NAMPLEST 전환 기능을 사용해야합니다.

상태 전환 함수가 엄격하지 않으면 각 입력 행에서 무조건적으로 호출되며 그 자체로 널 입력 및 널 상태 값을 처리해야합니다. 이를 통해 골재 저자는 스포츠 토토 사이트의 널 값 처리를 완전히 제어 할 수 있습니다.

최종 함수가 선언 된 경우"엄격한", 결말 상태 값이 null 일 때 호출되지 않습니다. 대신 널 결과가 자동으로 반환됩니다. (물론 이것은 엄격한 함수의 정상적인 동작 일뿐입니다.) 어쨌든 최종 함수는 널 값을 반환 할 수있는 옵션이 있습니다. 예를 들어,의 최종 기능avg입력 행이 0 인 것을 볼 때 NULL을 반환합니다.

때로는 상태 값뿐만 아니라 스포츠 토토 사이트의 입력 값에 해당하는 추가 매개 변수를 취하는 것으로 최종 기능을 선언하는 것이 유용합니다. 이를 수행하는 주된 이유는 최종 기능이 다형성이고 상태 값의 데이터 유형이 결과 유형을 고정하기에 부적절한 경우입니다. 이 추가 매개 변수는 항상 널로 전달됩니다 (따라서 최종 기능이이 엄격하지 않아야합니다.FinalFunc_extra옵션이 사용됩니다) 그러나 그럼에도 불구하고 유효한 매개 변수입니다. 최종 기능은 예를 들어를 사용할 수 있습니다.get_fn_expr_argtype현재 통화에서 실제 인수 유형을 식별하려면.

집계가 선택적으로 지원할 수 있습니다이동 모드, 설명대로섹션 35.10.1. 이를 위해서는 지정해야합니다.msfunc, minvfuncmstype매개 변수 및 선택적으로MSSPACE, mfinalfunc, mfinalfunc_extraMinitcond매개 변수. 을 제외하고minvfuncM; 역 전이 함수를 포함하는 스포츠 토토 사이트의 별도의 구현을 정의합니다.

구문주문 by매개 변수 목록에서 an이라는 특수 유형의 스포츠 토토 사이트를 만듭니다.주문 세트 스포츠 토토 사이트; 또는 if가상지정된 다음 A가상 세트 집계생성되었습니다. 이러한 스포츠 토토 사이트는 정렬 된 값의 그룹에 걸쳐 순서 의존적 방식으로 작동하므로 입력 정렬 순서의 사양이 통화의 필수 부분입니다. 또한, 그들은 가질 수 있습니다Direct인수는 입력 행 당 한 번이 아닌 집계 당 한 번만 평가되는 인수입니다. 가상 세트 골재는 순서대로 인수 열의 숫자 및 데이터 유형에 맞는 직접 인수 중 일부가 필요한 순서 세트 집계의 서브 클래스입니다. 이를 통해 해당 직접 인수의 값은 추가로 집계 입력 행 모음에 추가 될 수 있습니다."가상"행.

좋아하는 스포츠 토토 사이트Min또는max모든 입력 행을 스캔하는 대신 인덱스를 살펴보면 때때로 최적화 할 수 있습니다. 이 스포츠 토토 사이트가 그렇게 최적화 될 수 있다면 A를 지정하여 표시하십시오.정렬 연산자. 기본 요구 사항은 스포츠 토토 사이트가 연산자가 유도 한 정렬 순서에서 첫 번째 요소를 산출해야한다는 것입니다. 다시 말해서:

탭에서 AGG (col)를 선택하십시오.

:와 동일해야합니다.

COL에서 COL에서 COL을 선택하여 SORTOP LIMIT 1;

추가 가정은 스포츠 토토 사이트가 널 입력을 무시하고 널 입력이없는 경우에만 널 결과를 전달한다는 것입니다. 일반적으로 데이터 유형<운영자는 적절한 정렬 연산자입니다Min|max. 지정된 연산자가가 아니라면 최적화는 실제로 적용되지 않습니다.""보다 작습니다.또는"보다 큰"B-Tree Index Operator Class의 전략 멤버.

스포츠 토토 사이트 함수를 만들 수 있으려면usage인수 유형, 상태 유형 및 반환 유형에 대한 권한 및execute전환 및 최종 기능에 대한 특권.

매개 변수

이름

생성 할 집계 함수의 이름 (선택적으로 스키마 자격).

argmode

인수의 모드 :in또는variadic. (집계 함수는 지원하지 않습니다out인수.) 생략하면 기본값은입니다.in. 마지막 인수 만 표시 될 수 있습니다variadic.

argname

인수의 이름. 이것은 현재 문서화 목적에만 유용합니다. 생략하면 인수의 이름이 없습니다.

arg_data_type

이 스포츠 토토 사이트 기능이 작동하는 입력 데이터 유형. 제로 학습 스포츠 토토 사이트 함수를 만들려면 쓰기*인수 사양 목록 대신. (그러한 스포츠 토토 사이트의 예는count (*).)

base_type

기존 구문에서스포츠 토토 사이트 생성, 입력 데이터 유형은 A에 의해 지정됩니다.BaseType집계 이름 옆에 쓰여지지 않고 매개 변수입니다. 이 구문은 하나의 입력 매개 변수 만 허용합니다. 이 구문으로 제로 관점 집계 함수를 정의하려면를 지정하십시오.BaseTypeas"Any"(아님*). 주문 세트 스포츠 토토 사이트는 이전 구문으로 정의 할 수 없습니다.

sfunc

각 입력 행에 대해 호출되는 상태 전환 함수의 이름. 정상n-관례 스포츠 토토 사이트 함수,sfunc가져 가야n+1 인수, 첫 번째 유형state_data_type그리고 스포츠 토토 사이트의 선언 된 입력 데이터 유형과 일치하는 나머지. 함수는 유형 값을 반환해야합니다state_data_type. 이 함수는 현재 상태 값과 현재 입력 데이터 값을 취하고 다음 상태 값을 반환합니다.

순서 세트 (가상 세트 포함) 집계의 경우, 상태 전이 함수는 직접적인 인수가 아니라 현재 상태 값과 집계 된 인수 만받습니다. 그렇지 않으면 동일합니다.

state_data_type

스포츠 토토 사이트 상태 값의 데이터 유형.

state_data_size

집계 상태 값의 대략 평균 크기 (바이트). 이 매개 변수가 생략되었거나 0 인 경우 기본 추정치는에 따라 사용됩니다.state_data_type. 플래너는이 값을 사용하여 그룹화 된 스포츠 토토 사이트 쿼리에 필요한 메모리를 추정합니다. 플래너는 해시 테이블이 적합한 것으로 추정되는 경우에만 해당 쿼리에 해시 스포츠 토토 사이트를 사용하는 것을 고려합니다.work_mem; 따라서이 매개 변수의 큰 값은 해시 집계의 사용을 방해합니다.

ffunc

모든 입력 행이 통과 한 후 집계 결과를 계산하기 위해 호출 된 최종 함수의 이름. 정상 집계의 경우이 기능은 유형의 단일 인수를 취해야합니다​​state_data_type. 스포츠 토토 사이트의 반환 데이터 유형은이 함수의 리턴 유형으로 정의됩니다. 만약에ffunc지정되지 않으면 종료 상태 값이 스포츠 토토 사이트 결과로 사용되며 리턴 유형은입니다.state_data_type.

순서 세트 (가상 세트 포함) 집계의 경우 최종 기능은 최종 상태 값뿐만 아니라 모든 직접 인수의 값도받습니다..

ifFinalFunc_extra가 지정된 다음 최종 상태 값 및 직접 인수 외에도 최종 함수는 집계의 일반 (집계 된) 인수에 해당하는 추가 널 값을받습니다. 이것은 다형성 집계가 정의 될 때 집계 결과 유형의 올바른 해상도를 허용하는 데 주로 유용합니다.

Initial_Condition

상태 값의 초기 설정. 이것은 데이터 유형에 허용되는 양식의 문자열 상수 여야합니다state_data_type. 지정되지 않으면 상태 값이 NULL에서 시작합니다.

msfunc

이동 응집 모드에서 각 입력 행에 대해 호출되는 전방 상태 전환 함수의 이름. 이것은 첫 번째 인수와 결과가 유형이라는 점을 제외하고는 일반 전환 기능과 똑같습니다.MSTATE_DATA_TYPE,state_data_type.

minvfunc

이동 응집 모드에서 사용되는 역 상태 전이 함수의 이름. 이 함수는 동일한 인수와 결과 유형이와 동일합니다.msfunc, 그러나 값을 추가하는 대신 현재 집계 상태에서 값을 제거하는 데 사용됩니다. 역 전이 함수는 전방 상태 전환 함수와 동일한 엄격성 속성을 가져야합니다.

MSTATE_DATA_TYPE

이동 응집 모드를 사용할 때 스포츠 토토 사이트 상태 값의 데이터 유형.

mstate_data_size

이동 응집 모드를 사용할 때 집계 상태 값의 대략적인 평균 크기 (바이트). 이것은와 동일하게 작동합니다.state_data_size.

mffunc

움직이는 입력 모드를 사용할 때 모든 입력 행이 트래버스 된 후 집계 결과를 계산하기 위해 호출 된 최종 함수의 이름. 이것은와 동일하게 작동합니다.ffunc, 첫 번째 인수 유형이임을 제외하고는MSTATE_DATA_TYPE및 추가 더미 인수는 쓰기로 지정됩니다mfinalfunc_extra. 에 의해 결정된 스포츠 토토 사이트 결과 유형mffunc또는MSTATE_DATA_TYPE스포츠 토토 사이트의 정기 구현에 의해 결정된 것과 일치해야합니다.

minitial_condition

이동 응집 모드를 사용할 때 상태 값의 초기 설정. 이것은와 동일하게 작동합니다.Initial_Condition.

Sort_Operator

a 관련 정렬 연산자Min- 또는max같은 집계. 이것은 단지 연산자 이름입니다 (아마도 스키마 자격이있을 수 있음). 연산자는 집계와 동일한 입력 데이터 유형을 가지고 있다고 가정합니다 (단일 연계 정상 집계 여야합니다).

가상

순서 세트 집계에 대해서만,이 플래그는 집계 인수가 가상 세트 응집체에 대한 요구 사항에 따라 처리되어야 함을 지정합니다. 즉, 마지막 몇 가지 직접 인수는 집계 된 데이터 유형과 일치해야합니다 (.그룹 내) 인수. 그만큼가상플래그는 런타임 동작에 영향을 미치지 않으며, 데이터 유형의 구문 분석 시간 해결 및 집계 인수의 콜라주에만 영향을 미치지 않습니다..

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

노트

지원 함수 이름을 지정하는 매개 변수에서 필요한 경우 스키마 이름을 쓸 수 있습니다 (예 :sfunc = public.sum. 그러나 인수 유형을 작성하지 마십시오. 지원 기능의 인수 유형은 다른 매개 변수에서 결정됩니다.

집계가 이동 응집 모드를 지원하면 골재가 움직이는 프레임 시작이있는 창의 창 함수로 사용되면 계산 효율을 향상시킵니다 (즉, 프레임 시작 모드는미리 알려지지 않은). 개념적으로, 순방향 전환 함수는 하단에서 창 프레임을 입력 할 때 입력 값을 집계 상태에 추가하고, 역 전이 함수는 프레임을 상단에두면 다시 제거합니다. 따라서 값이 제거되면 항상 추가 된 순서로 항상 제거됩니다. 역전 전이 함수가 호출 될 때마다 가장 빨리 추가되었지만 아직 제거되지 않은 인수 값이 수신됩니다. 역 전이 함수는 가장 오래된 행을 제거한 후 적어도 하나의 행이 현재 상태에 남아 있다고 가정 할 수 있습니다. (그렇지 않은 경우, 윈도우 함수 메커니즘은 역전 전이 함수를 사용하기보다는 단순히 새로운 집계를 시작합니다.)

이동 응집 모드의 순방향 전환 함수는 NULL을 새로운 상태 값으로 반환 할 수 없습니다. 역 전이 함수가 NULL을 반환하면 역 함수 가이 특정 입력에 대한 상태 계산을 역전시킬 수 없다는 표시로 간주되므로 총 계산은 현재 프레임 시작 위치에 대해 처음부터 다시 작성됩니다. 이 협약은 실행중인 상태 값을 뒤집어 놓는 데 실용적이지 않은 일부 드문 경우가있는 상황에서 이동 모드를 사용할 수 있습니다.

이동 응집 구현이 제공되지 않으면 스포츠 토토 사이트는 여전히 움직이는 프레임과 함께 사용할 수 있지만PostgreSQL프레임의 시작이 움직일 때마다 전체 집계를 재편성합니다. 집계가 이동 응집 모드를 지원하는지 여부에 유의하십시오.PostgreSQL재 계산없이 움직이는 프레임 끝을 처리 할 수 ​​있습니다. 이것은 스포츠 토토 사이트 상태에 새로운 값을 계속 추가하여 수행됩니다. 최종 함수는 골재의 상태 값을 손상시키지 않기 때문에 한 세트의 프레임 경계에 대해 스포츠 토토 사이트 결과 값이 얻어진 후에도 스포츠 토토 사이트가 계속 될 수 있다고 가정합니다..

순서 세트 집계의 구문이 허용variadic마지막 직접 매개 변수와 마지막 집계 된 ( 모두에 대해 지정됩니다.그룹 내) 매개 변수. 그러나 현재 구현은의 사용을 제한합니다.variadic두 가지 방법으로. 첫째, 순서 세트 스포츠 토토 사이트는 만 사용할 수 있습니다Variadic "Any", 다른 변수 배열 유형이 아닙니다. 둘째, 마지막 직접 매개 변수가 인 경우Variadic "Any", 그러면 집계 된 매개 변수가 하나만있을 수 있으며Variadic "Any". (시스템 카탈로그에 사용 된 표현 에서이 두 매개 변수는 단일로 병합됩니다Variadic "Any"이후PG_PROC하나 이상의 함수를 나타내지 않을 수 있습니다variadic매개 변수.) 집계가 가상 세트 집계 인 경우와 일치하는 직접 인수Variadic "Any"매개 변수는 가상적인 것입니다. 앞의 모든 매개 변수는 집계 된 인수와 일치하도록 제한되지 않은 추가 직접 인수를 나타냅니다.

현재 순서 세트 집계는 창 함수로 사용할 수 없으므로 이동 응집 모드를 지원할 필요가 없습니다..

호환성

스포츠 토토 사이트 생성isPostgreSQL언어 확장. SQL 표준은 사용자 정의 스포츠 토토 사이트 함수를 제공하지 않습니다.