이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 4.3. 와이즈 토토 호출버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

4.3. 롤 토토 호출

PostgreSQL롤 토토를 허용합니다 하나를 사용하여 호출 할 매개 변수를 명명 한 이름을 지정했습니다.위치또는이름표기법. 명명 된 표기법은 특히 함수에 유용합니다 연관성을 만들기 때문에 많은 수의 매개 변수가 있습니다. 매개 변수와 실제 인수 사이에 더 명시적이고 신뢰할 수 있습니다. 위치 표기법에서 함수 호출은 인수 값은 기능 선언. 명명 된 표기법에서는 인수가 일치합니다 이름 별 함수 매개 변수에 어떤 순서로든 작성할 수 있습니다. 각 표기법에 대해 기능 인수의 효과를 고려하십시오. 문서화 된 유형토토 커뮤니티 42 |_99.

두 가지 표기법에서는 기본값이있는 매개 변수 함수 선언은 전화로 전혀 기록 할 필요가 없습니다. 그러나 이것은 명명 된 표기법에서 특히 유용합니다. 매개 변수의 조합을 생략 할 수 있습니다. 위치에있는 동안 표기법 매개 변수는 오른쪽에서 왼쪽으로 만 생략 할 수 있습니다.

PostgreSQL또한 지원혼합​​위치를 결합한 표기법 그리고 명명 된 표기법. 이 경우 위치 매개 변수가 작성됩니다 첫 번째 및 이름이 지정된 매개 변수가 나타납니다.

다음 예제는 세 가지 모두의 사용법을 설명합니다. 다음 기능 정의를 사용하여 표기법 :

기능 생성 기능 concat_lower_or_upper (텍스트, b 텍스트, 대문자 부울 기본 거짓)
텍스트를 반환합니다
처럼
$$
 사례를 선택하십시오
        $ 3이면 상위 ($ 1 || ''|| $ 2)
        else holl ($ 1 || ''|| $ 2)
        끝;
$$
언어 SQL 불변의 엄격;

기능concat_lower_or_upper두 가지 필수 매개 변수aandB. 또한 하나의 선택적 매개 변수가 있습니다대문자기본값false. 그만큼aB입력이 연결되어 강제로 강요됩니다 상단 또는 소문자에 따라대문자매개 변수. 이것의 나머지 세부 사항 기능 정의는 여기서 중요하지 않습니다 (​​35 장자세한 내용은).

4.3.1. 위치 사용 표기법

위치 표기법은 통과하기위한 전통적인 메커니즘입니다 기능에 대한 주장PostgreSQL. 예는 다음과 같습니다.

concat_lower_or_upper를 선택하십시오 ( 'hello', 'world', true);
 concat_lower_or_upper 
-------------------------
 안녕하세요 세계
(1 행)

모든 인수는 순서대로 지정됩니다. 결과는 대문자입니다 부터대문자true. 또 다른 예는 다음과 같습니다.

concat_lower_or_upper ( 'hello', 'world')를 선택합니다.
 concat_lower_or_upper 
-------------------------
 안녕하세요 세계
(1 행)

여기,대문자매개 변수입니다 생략됨에 따라 기본값을받습니다거짓, 소문자 출력을 초래합니다. 위치에서 표기법, 인수는 오른쪽에서 왼쪽으로 생략 할 수 있습니다. 기본값이 있습니다.

4.3.2. 명명 된 사용 표기법

명명 된 표기법에서 각 인수의 이름은를 사용하여 지정됩니다: =인수와 분리하려면 표현. 예를 들어:

concat_lower_or_upper (a : = 'hello', b : = 'world');
 concat_lower_or_upper 
-------------------------
 안녕하세요 세계
(1 행)

다시, 인수대문자생략되었으므로로 설정됩니다.거짓암시 적으로. 명명 된 표기법을 사용하는 것 중 하나는 인수가 예를 들어 모든 순서로 지정됩니다.

concat_lower_or_upper를 선택하십시오 (a : = 'hello', b : = 'world', 대문자 : = true);
 concat_lower_or_upper 
-------------------------
 안녕하세요 세계
(1 줄)

concat_lower_or_upper (a : = 'hello', 대문자 : = true, b : = 'world');
 concat_lower_or_upper 
-------------------------
 안녕하세요 세계
(1 행)

4.3.3. 혼합 사용 표기법

혼합 표기법은 위치와 명명 표기법을 결합합니다. 그러나 이미 언급했듯이 명명 된 인수는 우선 할 수 없습니다 위치 논쟁. 예를 들어:

concat_lower_or_upper ( 'hello', 'world', 대문자 : = true);
 concat_lower_or_upper 
-------------------------
 안녕하세요 세계
(1 행)

위의 쿼리에서 인수aandB위치에서 지정되어 있으며대문자이름별로 지정됩니다. 이것에서 예를 들어, 문서를 제외하고는 거의 추가되지 않습니다. 더 복잡한 함수는 기본값이있는 수많은 매개 변수를 갖습니다 또는 혼합 표기법은 많은 글을 저장하고 감소 할 수 있습니다. 오류 가능성.

참고 :이름 및 혼합 통화 표기법은 현재 할 수 없습니다 골재 기능을 호출 할 때 사용됩니다 (그러나 그들은 집계 기능은 창 함수로 사용됩니다).