범퍼카 토토이름을 사용하여 이름을 지정 한 기능을 사용하여 호출 할 수있는 기능을 허용합니다.위치또는이름표기법. 명명 된 표기법은 매개 변수와 실제 인수 간의 연관성을보다 명시적이고 신뢰할 수 있기 때문에 많은 매개 변수를 가진 함수에 특히 유용합니다.섹션 10.3.
두 가지 표기법에서는 함수 선언에 주어진 기본값이있는 매개 변수를 호출에 전혀 기록 할 필요가 없습니다. 그러나 이것은 매개 변수의 조합을 생략 할 수 있기 때문에 명명 된 표기법에서 특히 유용합니다.
범퍼카 토토지원혼합포지션과 명명 표기법을 결합한 표기법. 이 경우 위치 매개 변수는 먼저 작성되고 이름이 지정된 매개 변수가 나타납니다.
다음 예제는 다음 기능 정의를 사용하여 세 가지 표기법의 사용법을 보여줍니다.
함수 생성 concat_lower_or_upper (텍스트, b 텍스트, 대문자 부울 기본 거짓)
기능concat_lower_or_upper
두 개의 필수 매개 변수가 있습니다.a
andb
. 또한 하나의 선택적 매개 변수가 있습니다대문자
기본값거짓
. 그만큼a
andb
입력이 연결되고에 따라 상류 또는 소문이 강제됩니다.대문자
매개 변수. 이 기능 정의의 나머지 세부 사항은 여기서 중요하지 않습니다 (참조Postgre토토 핫 : 문서 : 17 : 36 장. 토토 핫 확장자세한 정보).
위치 표기법은 인수를 함수에 전달하는 전통적인 메커니즘입니다.범퍼카 토토. 예는 다음과 같습니다.
concat_lower_or_upper ( 'hello', 'world', true);
모든 인수는 순서대로 지정됩니다. 결과는 이후로 상류입니다대문자
true
. 또 다른 예는 다음과 같습니다.
concat_lower_or_upper ( 'hello', 'world')를 선택합니다.
여기,대문자
매개 변수가 생략되었으므로 기본값을받습니다거짓
, 소문자 출력을 초래합니다. 위치 표기법에서는 기본값이있는 한 오른쪽에서 왼쪽으로 인수를 생략 할 수 있습니다.
명명 된 표기법에서 각 인수의 이름은를 사용하여 지정됩니다=>
인수 표현에서 그것을 분리하려면. 예를 들어:
concat_lower_or_upper를 선택하십시오 (a => 'hello', b => 'world');
다시, 인수대문자
생략되었으므로거짓
암시 적으로. 명명 된 표기법을 사용하면 한 가지 장점은 인수가 예를 들어 어떤 순서로든 지정 될 수 있다는 것입니다.
concat_lower_or_upper (a => 'hello', b => 'world', 대문자 => true);
": ="에 기반한 구형 구문은 후진 호환성을 위해 지원됩니다 :
concat_lower_or_upper를 선택하십시오 (a : = 'hello', 대문자 : = true, b : = 'world');
혼합 표기법은 위치와 명명 표기법을 결합합니다. 그러나 이미 언급 한 바와 같이, 이름이 지정된 인수는 위치 인수보다 우선 할 수 없습니다.
concat_lower_or_upper ( 'hello', 'world', 대문자 => true);
위의 쿼리에서 인수a
andb
위치에서 지정되어 있으며대문자
이름별로 지정됩니다. 이 예에서는 문서를 제외하고는 거의 추가되지 않습니다.
집계 함수를 호출 할 때 현재 명명 된 및 혼합 통화 표기법을 사용할 수 없습니다 (그러나 집계 함수가 창 함수로 사용될 때 작동합니다)..
문서에 올바른 것이없는 것이 있으면 일치하지 않습니다.이 양식문서 문제를보고하려면