이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 4.3. 와이즈 토토 호출버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

4.3. 롤 토토 호출

포스트그레SQL기능 허용 다음 중 하나를 사용하여 호출할 명명된 매개변수가 있습니다.위치또는이름이 지정된표기법. 명명된 표기법은 다음과 같은 함수에 특히 유용합니다. 연관을 만들기 때문에 많은 수의 매개변수를 가집니다. 매개변수와 실제 인수 사이가 더 명확하고 안정적입니다. 위치 표기법에서 함수 호출은 다음과 같이 작성됩니다. 인수 값은 정의된 순서와 동일합니다. 함수 선언. 명명된 표기법에서는 인수가 일치합니다. 이름으로 함수 매개변수에 연결되며 순서에 상관없이 쓸 수 있습니다. 각 표기법에 대해 함수 인수의 효과도 고려하세요. 유형, 문서화됨토토 커뮤니티 42 |_99.

두 표기법 모두에서 기본값이 지정된 매개변수는 다음과 같습니다. 호출 시 함수 선언을 전혀 작성할 필요가 없습니다. 그러나 이는 명명된 표기법에 특히 유용합니다. 매개변수 조합은 생략될 수 있습니다. 위치에 있는 동안 표기법 매개변수는 오른쪽에서 왼쪽으로만 생략할 수 있습니다.

포스트그레SQL또한 지원합니다혼합위치 지정을 결합한 표기법 그리고 명명된 표기법. 이 경우 위치 매개변수가 작성됩니다. 첫 번째 및 명명된 매개변수가 그 뒤에 나타납니다.

다음 예는 세 가지 모두의 사용법을 보여줍니다. 다음 함수 정의를 사용한 표기법:

CREATE FUNCTION concat_lower_or_upper(a 텍스트, b 텍스트, 대문자 부울 DEFAULT false)
텍스트를 반환합니다.
그대로
$$
 케이스 선택
        $3일 때 상위($1 || ' ' || $2)
        ELSE LOWER($1 || ' ' || $2)
        끝;
$$
언어 SQL IMMUTABLE STRICT;

기능concat_lower_or_upper있음 두 개의 필수 매개변수,a그리고b. 또한 하나의 선택적 매개변수가 있습니다.대문자기본값은거짓.a그리고b입력은 연결되어 강제로 다음 중 하나가 됩니다. 에 따라 대문자 또는 소문자대문자매개변수. 이에 대한 나머지 세부사항은 여기서는 롤 토토 정의가 중요하지 않습니다(참조제35장자세한 내용은).

4.3.1. 위치 사용 표기

위치 표기법은 전달을 위한 전통적인 메커니즘입니다. 의 함수에 대한 인수PostgreSQL. 예는 다음과 같습니다:

SELECT concat_lower_or_upper('안녕하세요', '세계', true);
 concat_lower_or_upper 
----------
 안녕하세요 세계
(1행)

모든 인수가 순서대로 지정되었습니다. 결과는 대문자 이후대문자다음과 같이 지정됨. 또 다른 예는 다음과 같습니다:

SELECT concat_lower_or_upper('안녕하세요', '세계');
 concat_lower_or_upper 
----------
 안녕 세계
(1행)

여기는대문자매개변수는 생략되었으므로 기본값인를 받습니다.거짓, 소문자로 출력됩니다. 위치에 있어서 표기법에 따라 인수는 오른쪽에서 왼쪽으로 생략될 수 있습니다. 기본값이 있습니다.

4.3.2. 명명된 사용 표기

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

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

다시, 주장대문자이었음 생략되었으므로 다음과 같이 설정됩니다.거짓암시적으로. 명명된 표기법을 사용하는 한 가지 장점은 인수가 다음과 같을 수 있다는 것입니다. 임의의 순서로 지정됩니다. 예를 들면 다음과 같습니다.

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

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

4.3.3. 혼합 사용 표기

혼합 표기법은 위치 표기법과 명명 표기법을 결합합니다. 그러나 이미 언급했듯이 명명된 인수는 앞에 올 수 없습니다. 위치 인수. 예를 들어:

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

위 쿼리에서 인수a그리고b위치적으로 지정되지만대문자이름으로 지정됩니다. 이에 예를 들어 문서를 제외하고는 거의 추가되지 않습니다. 더 복잡한 것으로 기본값을 갖는 수많은 매개변수를 갖는 함수 또는 혼합 표기법을 사용하면 많은 양의 쓰기 작업을 절약하고 줄일 수 있습니다. 오류가 발생할 가능성이 있습니다.

참고:명명 및 혼합 호출 표기법은 현재 사용할 수 없습니다. 집계 함수를 호출할 때 사용됩니다(그러나 다음과 같은 경우에는 작동합니다). 집계 함수는 윈도우 함수로 사용됩니다.