이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나가 대신.

23.10. 예

여기에는 얼마나 쉬운지를 보여주는 몇 가지 기능 만 있습니다. 쓰다pl/pgsql함수. 을 위한 프로그래머가 회귀를 볼 수있는 더 복잡한 예 테스트pl/pgsql.

글쓰기 기능의 하나의 고통스러운 세부 사항pl/pgsql는 단일 따옴표의 처리입니다. 함수의 소스 텍스트생성 기능문자 그대로 문자열이어야합니다. 내부의 단일 따옴표 문자 그대로 문자열은 두 배로 또는 인용해야합니다. 백 슬래시. 우리는 여전히 우아한 대안을 찾고 있습니다. ~ 안에 그 동안 아래 예제에서와 같이 단일 따옴표를 두 배로 늘리십시오. 사용해야합니다. 향후 버전의에 대한 모든 솔루션PostgreSQL앞으로 나아갈 것입니다 호환.

탈출 방법에 대한 자세한 설명과 예제 다른 상황의 단일 따옴표, 참조하십시오.섹션 23.11.1.1.

예 23-2. 간단한pl/pgsqlycrement an 정수

다음 두pl/pgsql함수는 C의 상대와 동일합니다 언어 기능 토론. 이 기능은를받습니다.정수증분 값을 반환합니다.

함수 생성 add_one (정수) 정수를 반환합니다.
    시작하다
        $ 1 + 1을 반환합니다.
    끝;
'언어'plpgsql ';

예 23-3. 간단한pl/pgsql텍스트를 연결하는 기능

이 함수는 2를받습니다.텍스트매개 변수와 그것들을 연결 한 결과를 반환합니다.

함수 만들기 concat_text (텍스트, 텍스트) 텍스트를 반환합니다.
    시작하다
        반품 $ 1 || $ 2;
    끝;
'언어'plpgsql ';

예 23-4. 에이pl/pgsql복합 유형의 함수

이 예에서는emp(a 테이블) 및 an정수우리의 주장으로 a를 반환하는 함수부울. 인 경우급여필드emp테이블은null, 우리는 반환f. 그렇지 않으면 우리는 비교합니다 그 필드정수기능하고 반환부울결과 비교 (t 또는 f). 이것은입니다.pl/pgsql예제에 해당합니다 C 기능.

함수 만들기 c_overpaid (emp, integer) boolean을 반환합니다.
    선언하다
        $ 1에 대한 EMPREC 별칭;
        $ 2에 대한 Sallim 별칭;
    시작하다
        emprec.salary isnull이면
            `` 'f' ';
        끝 IF;
        emprec.salary Sallim을 반환합니다.
    끝;
'언어'plpgsql ';