Postgresql 9.0.23 문서화 | ||||
---|---|---|---|---|
토토 핫 : 문서 : 9.0 : 개요 | up | 40 장. pl/tcl -tcl 절차 언어 | 롤 토토 : 문서 : 9.0 : 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 도메인 유형.