PostgreSQL 9.3.25 문서화 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.3 : 값 메이저 토토 사이트식 | Postgre메이저 토토 사이트 : 문서 : 9.3 : 메이저 토토 사이트 구문 | 4 장 SQL 통사론 | 스포츠 토토 베트맨 : 문서 : 9.3 : 데이터 정의 |
PostgreSQL롤 토토를 허용합니다 하나를 사용하여 호출 할 매개 변수를 명명 한 이름을 지정했습니다.위치또는이름표기법. 명명 된 표기법은 특히 함수에 유용합니다 연관성을 만들기 때문에 많은 수의 매개 변수가 있습니다. 매개 변수와 실제 인수 사이에 더 명시적이고 신뢰할 수 있습니다. 위치 표기법에서 함수 호출은 인수 값은 기능 선언. 명명 된 표기법에서는 인수가 일치합니다 이름 별 함수 매개 변수에 어떤 순서로든 작성할 수 있습니다. 각 표기법에 대해 기능 인수의 효과를 고려하십시오. 문서화 된 유형토토 커뮤니티 42 |_99.
두 가지 표기법에서는 기본값이있는 매개 변수 함수 선언은 전화로 전혀 기록 할 필요가 없습니다. 그러나 이것은 명명 된 표기법에서 특히 유용합니다. 매개 변수의 조합을 생략 할 수 있습니다. 위치에있는 동안 표기법 매개 변수는 오른쪽에서 왼쪽으로 만 생략 할 수 있습니다.
PostgreSQL또한 지원혼합위치를 결합한 표기법 그리고 명명 된 표기법. 이 경우 위치 매개 변수가 작성됩니다 첫 번째 및 이름이 지정된 매개 변수가 나타납니다.
다음 예제는 세 가지 모두의 사용법을 설명합니다. 다음 기능 정의를 사용하여 표기법 :
기능 생성 기능 concat_lower_or_upper (텍스트, b 텍스트, 대문자 부울 기본 거짓) 텍스트를 반환합니다 처럼 $$ 사례를 선택하십시오 $ 3이면 상위 ($ 1 || ''|| $ 2) else holl ($ 1 || ''|| $ 2) 끝; $$ 언어 SQL 불변의 엄격;
기능concat_lower_or_upper
두 가지 필수 매개 변수aandB. 또한 하나의 선택적 매개 변수가 있습니다대문자기본값false. 그만큼a및B입력이 연결되어 강제로 강요됩니다
상단 또는 소문자에 따라대문자매개 변수. 이것의 나머지 세부 사항
기능 정의는 여기서 중요하지 않습니다 (35 장자세한 내용은).
위치 표기법은 통과하기위한 전통적인 메커니즘입니다 기능에 대한 주장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 행)
여기,대문자매개 변수입니다 생략됨에 따라 기본값을받습니다거짓, 소문자 출력을 초래합니다. 위치에서 표기법, 인수는 오른쪽에서 왼쪽으로 생략 할 수 있습니다. 기본값이 있습니다.
명명 된 표기법에서 각 인수의 이름은를 사용하여 지정됩니다: =인수와 분리하려면 표현. 예를 들어:
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 행)
혼합 표기법은 위치와 명명 표기법을 결합합니다. 그러나 이미 언급했듯이 명명 된 인수는 우선 할 수 없습니다 위치 논쟁. 예를 들어:
concat_lower_or_upper ( 'hello', 'world', 대문자 : = true); concat_lower_or_upper ------------------------- 안녕하세요 세계 (1 행)
위의 쿼리에서 인수aandB위치에서 지정되어 있으며대문자이름별로 지정됩니다. 이것에서 예를 들어, 문서를 제외하고는 거의 추가되지 않습니다. 더 복잡한 함수는 기본값이있는 수많은 매개 변수를 갖습니다 또는 혼합 표기법은 많은 글을 저장하고 감소 할 수 있습니다. 오류 가능성.
참고 :이름 및 혼합 통화 표기법은 현재 할 수 없습니다 골재 기능을 호출 할 때 사용됩니다 (그러나 그들은 집계 기능은 창 함수로 사용됩니다).