42.2. PL/토토 사이트 추천 함수 및 인수#

함수를 생성하려면PL/토토 사이트 추천언어, 표준을 사용하세요함수 생성구문:

함수 생성기능 이름 (인수 유형) 반환반환 유형AS $$
    # PL/토토 사이트 추천 함수 본문
$$ 언어 pltcl;

PL/토토 사이트 추천U언어가 다음과 같이 지정되어야 한다는 점을 제외하면 동일합니다.pl토토 사이트 추천u.

함수 본문은 단순히 토토 사이트 추천 스크립트의 일부입니다. 함수가 호출되면 인수 값은 이름이 지정된 변수로 토토 사이트 추천 스크립트에 전달됩니다.1 ... n. 결과는 일반적인 방식으로 토토 사이트 추천 코드에서 반환됩니다.반환문장. 프로시저에서 Tcl 코드의 반환 값은 무시됩니다.

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

CREATE FUNCTION 토토 사이트 추천_max(정수, 정수) 정수를 $$로 반환합니다.
    if $1  $2 $1 반환
    2달러를 돌려주다
$$ 언어 pltcl STRICT;

조항 참고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/토토 사이트 추천 함수는 복합 유형 결과도 반환할 수 있습니다. 이를 수행하려면 Tcl 코드는 예상 결과 유형과 일치하는 열 이름/값 쌍 목록을 반환해야 합니다. 목록에서 누락된 컬럼 이름은 null로 반환되며, 예상치 못한 컬럼 이름이 있으면 오류가 발생합니다. 예는 다음과 같습니다.

함수 만들기 square_cube(in int, out squared int, out Cubed int) AS $$
    return [목록 제곱 [expr $1 * $1] 세제곱 [expr $1 * $1 * $1]]
$$ 언어 pl토토 사이트 추천;

프로시저의 출력 인수는 동일한 방식으로 반환됩니다. 예를 들면 다음과 같습니다:

CREATE PROCEDURE 토토 사이트 추천_triple(INOUT a 정수, INOUT b 정수) AS $$
    return [목록 a [expr $1 * 3] b [expr $2 * 3]]
$$ 언어 pl토토 사이트 추천;

토토 사이트 추천_triple(5, 10) 호출;

결과 목록은 다음을 사용하여 원하는 튜플의 배열 표현으로 만들 수 있습니다.배열 가져오기토토 사이트 추천 명령. 예를 들면:

CREATE FUNCTION raise_pay(employee, delta int) 직원을 $$로 반환합니다.
    세트 1(급여) [expr $1(급여) + $2]
    반환 [배열 가져오기 1]
$$ 언어 pltcl;

PL/토토 사이트 추천 함수는 세트를 반환할 수 있습니다. 이를 위해 Tcl 코드는 다음을 호출해야 합니다.return_next행당 한 번 반환되며, 스칼라 유형을 반환할 때 적절한 값을 전달하거나 복합 유형을 반환할 때 열 이름/값 쌍 목록을 전달합니다. 다음은 스칼라 유형을 반환하는 예입니다.

CREATE FUNCTION 시퀀스(int, int)는 SETOF int를 $$로 반환합니다.
    for set i $1 $i < $2 incr i 
        return_next $i

여기 복합 유형을 반환하는 것이 있습니다:

CREATE FUNCTION table_of_squares(int, int) 테이블(x int, x2 int)을 $$로 반환합니다.
    for set i $1 $i < $2 incr i 
        return_next [목록 x $i x2 [expr $i * $i]]

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.