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

40.2. PL/TCL 기능 및 사설 토토 사이트

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

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

pl/tclu는 제외하고 동일합니다 언어는로 지정되어야한다.pltclu.

함수의 본문은 단순히 TCL 스크립트의 조각입니다. 언제 함수를 호출하고 인수 값은 다음과 같이 전달됩니다. 변수$ 1 ... $ntcl 스크립트. 결과는 평소의 TCL 코드에서 반환됩니다. 방법, Areturn진술.

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

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

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

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

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

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

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

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

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

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

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

    "F"반환
$$ 언어 pltcl;

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

PL/TCL현재는 그렇지 않습니다 도메인 유형에 대한 완전한 지원 : 도메인을 동일하게 처리합니다. 기본 스칼라 유형으로. 이것은 제약을 의미합니다 도메인과 관련된 것은 시행되지 않습니다. 이것은 아닙니다 기능 인수에 대한 문제이지만 A를 선언하는 경우 위험입니다.pl/tcl반환과 같은 기능 a 도메인 유형.