| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| 이전 | PostgreSQL : 문서 : 9.3 : PL/메이저 토토 사이트 -메이저 토토 사이트 절차 언어 | 41장. PL/토토 사이트 - 토토 사이트 절차적 언어 | 스포츠 토토 : 문서 : 9.3 : PL/TCL의 데이터 값 | |
함수를 생성하려면PL/토토 사이트언어, 표준을 사용하세요함수 생성구문:
함수 생성기능 이름 (인수 유형) 반환반환 유형AS $$
# PL/토토 사이트 함수 본문
$$ 언어 pltcl;
PL/토토 사이트U동일하지만, 언어는 다음과 같이 지정되어야 합니다.pl토토 사이트u.
함수 본문은 단순히 토토 사이트 스크립트의 일부입니다. 언제 함수가 호출되고 인수 값이 변수로 전달됩니다.$1 ... $n토토 사이트 스크립트에. 결과는 일반적인 방법으로 토토 사이트 코드에서 반환됩니다.반환진술.
예를 들어, 두 정수 중 더 큰 값을 반환하는 함수 값은 다음과 같이 정의될 수 있습니다.
CREATE FUNCTION 토토 사이트_max(정수, 정수) $$로 정수를 반환합니다.
if $1 $2 $1 반환
2달러를 돌려주다
$$ 언어 pltcl STRICT;
조항 참고엄격, 우리를 구해줍니다 null 입력 값에 대해 생각할 필요가 없습니다. null 값이 전달되면 함수는 전혀 호출되지 않지만 단지 자동으로 null 결과를 반환합니다.
엄격하지 않은 함수에서 인수의 실제 값이 다음과 같은 경우
null, 해당$n변수는 빈 값으로 설정됩니다
문자열. 특정 인수가 null인지 여부를 검색하려면 다음을 사용하세요.
기능argisnull. 예를 들어
우리가 원했던 것토토 사이트_maxnull 하나 포함
null이 아닌 인수를 반환하는 null이 아닌 인수 하나
null보다:
CREATE FUNCTION 토토 사이트_max(정수, 정수) $$로 정수를 반환합니다.
if [argisnull 1]
if [argisnull 2] return_null
2달러를 돌려주다
if [argisnull 2] $1 반환
if $1 $2 $1 반환
2달러를 돌려주다
$$ 언어 pltcl;
위에 표시된 대로 PL/토토 사이트 함수에서 null 값을 반환하려면, 실행return_null. 이것은 할 수 있습니다 기능이 엄격한지 아닌지.
복합 유형 인수는 Tcl로 함수에 전달됩니다. 배열. 배열의 요소 이름은 다음의 속성 이름입니다. 복합형. 전달된 행의 속성에 null이 있는 경우 값이 배열에 표시되지 않습니다. 예는 다음과 같습니다.
CREATE TABLE 직원(
이름 텍스트,
급여 정수,
연령 정수
);
CREATE FUNCTION 초과 지불(직원) $$로 부울을 반환합니다.
if 200000.0 < $1(급여)
"t"를 반환
if $1(연령) < 30 && 100000.0 < $1(급여)
"t"를 반환
"f"를 반환
$$ 언어 pltcl;
현재 복합 유형 반환은 지원되지 않습니다. 결과 값도 아니고 세트 반환도 아닙니다.
PL/토토 사이트현재는 없습니다 도메인 유형에 대한 완벽한 지원: 도메인을 도메인과 동일하게 취급합니다. 기본 스칼라 유형. 이는 다음과 관련된 제약 조건을 의미합니다. 도메인은 시행되지 않습니다. 이는 기능상의 문제가 아닙니다. 인수를 사용하지만 다음을 선언하면 위험합니다.PL/토토 사이트도메인 반환 기능 유형.