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

42.2. PL/TCL 기능 및 윈 토토

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

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

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

함수의 본문은 단순히 TCL 스크립트입니다. 함수가 호출되면 윈 토토 값이 변수로 전달됩니다$ 1 ... $nTCL 스크립트. 결과는 A와 함께 일반적인 방식으로 TCL 코드에서 반환됩니다.return진술.

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

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

조항 참고엄격한, NULL 입력 값에 대해 생각하지 않아도됩니다. NULL 값이 전달되면 함수는 전혀 호출되지 않지만 자동으로 NULL 결과를 반환합니다..

namportrict 함수에서, 윈 토토의 실제 값이 null이면 해당$n변수가 빈 문자열로 설정됩니다. 특정 윈 토토가 null인지 여부를 감지하려면 함수를 사용하십시오ArgisNull. 예를 들어, 우리가 원한다고 가정 해tcl_maxnull이 아닌 unnull 윈 토토를 반환하기 위해 하나의 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 함수에서 null 값을 반환하려면, 실행return_null. 기능이 엄격한 지 여부에 관계없이 수행 할 수 있습니다.

복합 유형 윈 토토는 TCL 어레이로 기능으로 전달됩니다. 배열의 요소 이름은 복합 유형의 속성 이름입니다. 전달 된 행의 속성에 널 값이 있으면 배열에 나타나지 않습니다. 예는 다음과 같습니다.

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

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

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

    "F"반환
$$ 언어 pltcl;

현재 복합 유형의 결과 값을 반환하거나 반환 세트에 대한 지원이 없습니다.

PL/TCL현재 도메인 유형을 완전히 지원하지 않습니다 : 도메인을 기본 스칼라 유형과 동일하게 처리합니다. 이는 도메인과 관련된 제약이 시행되지 않음을 의미합니다. 기능 윈 토토의 문제는 아니지만 A를 선언하면 위험이 있습니다.PL/TCL도메인 유형 반환으로 기능합니다.