이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다PostgreSQL : 문서 : 17 : 42.2. PL/스포츠 토토 사이트 결과 기능 및 인수버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

41.2. PL/토토 사이트 기능 및 인수

에서 함수를 생성하려면pl/토토 사이트언어, 표준 사용함수 만들기구문 :

함수 만들기funcName(Argument-Types) 반환return-type$$
    # pl/토토 사이트 기능 본문
$$ 언어 pltcl;

pl/토토 사이트u는 제외하고 동일합니다 언어는로 지정되어야한다.pl토토 사이트u.

함수의 본문은 단순히 토토 사이트 스크립트의 조각입니다. 언제 함수를 호출하고 인수 값은 변수로 전달됩니다$ 1 ... $n토토 사이트 스크립트. 결과는입니다 a와 함께 일반적인 방식으로 토토 사이트 코드에서 반환return진술.

예를 들어, 두 정수 중 더 큰 것을 반환하는 함수 값은 다음과 같이 정의 될 수 있습니다.

함수 생성 토토 사이트_max (정수, 정수) 정수를 $$로 반환합니다
    if $ 1 $ 2 return $ 1
    $ 2를 반환합니다
$$ 언어 pltcl 엄격한;

조항 참고엄격한NULL 입력 값에 대해 생각하지 않아도 : NULL 값이 통과하면 기능은 전혀 호출되지 않지만 널 결과를 자동으로 반환하십시오.

인수의 실제 값이 널, 해당$n변수가 빈으로 설정됩니다 끈. 특정 인수가 무효인지 여부를 감지하려면 사용하십시오. 기능ArgisNull. 예를 들어, 가정하십시오 우리가 원했던토토 사이트_max하나의 널 그리고 unnull 논증을 반환하기위한 한 가지 논증이 오히려 NULL보다 :

함수 만들기 토토 사이트_max (정수, 정수)는 정수를 $$로 반환합니다
    [ArgisNull 1] 인 경우
        if [ArgisNull 2] return_null
        $ 2를 반환합니다

    if [ArgisNull 2] return $ 1
    if $ 1 $ 2 return $ 1
    $ 2를 반환합니다
$$ 언어 pltcl;

위와 같이, pl/토토 사이트 함수에서 널 값을 반환하려면, 실행하다return_null. 이것은 할 수 있습니다 기능이 엄격한 지 여부.

복합 유형 인수는 토토 사이트과 같은 함수로 전달됩니다 배열. 배열의 요소 이름은 속성 이름입니다. 복합 유형. 전달 된 행의 속성에 NULL이있는 경우 값은 배열에 나타나지 않습니다. 예는 다음과 같습니다.

테이블 직원 생성 (
    이름 텍스트,
    급여 정수,
    시대 정수
);

기능 초과 지불 (직원)을 작성하여 부울을 $$로 반환합니다
    if 200000.0 <$ 1 (급여) 
        "T"반환

    if $ 1 (Age) <30 && 100000.0 <$ 1 (Salary) 
        "T"반환

    "F"반환
$$ 언어 pltcl;

현재 복합 유형을 반환하는 것에 대한 지원은 없습니다 결과 가치 또는 반환 세트.

pl/토토 사이트현재는 없습니다 도메인 유형에 대한 전체 지원 : 도메인을 기본 스칼라 유형. 이것은 제약과 관련된 제약을 의미합니다 도메인은 시행되지 않습니다. 이것은 기능의 문제가 아닙니다 논쟁, 그러나 당신이 a를 선언하면 위험입니다.PL/토토 사이트도메인 반환으로 기능합니다 유형.