이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 41.12. 토토 베이/PGSQL에서 개발을위한 팁버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

39.11. 개발을 위한 팁토토 사이트/pgSQL

개발할 수 있는 좋은 방법 중 하나토토 사이트/pgSQL다음의 텍스트 편집기를 사용하는 것입니다. 함수를 생성하도록 선택하고 다른 창에서 다음을 사용하세요.psql로드하고 테스트하려면 기능. 이런식으로 하시면 좋은거 같아요 다음을 사용하여 함수를 작성합니다.생성 또는 교체 기능. 그렇게 하면 파일을 다시 로드하여 업데이트할 수 있습니다. 함수 정의. 예를 들면:

함수 생성 또는 교체 testfunc(integer) $$로 정수를 반환합니다.
          ....
$$ 언어 토토 사이트pgsql;

실행 중psql, 할 수 있어요 다음을 사용하여 그러한 함수 정의 파일을 로드하거나 다시 로드하십시오.

\i 파일명.sql

그런 다음 즉시 SQL 명령을 실행하여 테스트합니다. 기능.

개발하는 또 다른 좋은 방법토토 사이트/pgSQLGUI 데이터베이스 액세스 도구를 사용합니다. 절차적 언어의 개발을 촉진합니다. 하나 그러한 도구의 예는 다음과 같습니다.pgAdmin, 다른 것들도 존재하지만. 이러한 도구 작은따옴표 이스케이프와 같은 편리한 기능을 제공하는 경우가 많습니다. 함수를 더 쉽게 재생성하고 디버깅할 수 있습니다.

39.11.1. 견적 처리 마크

a의 코드토토 사이트/pgSQL함수는 다음에 지정됩니다.만들기 기능문자열 리터럴로. 문자열을 쓰면 작은 따옴표를 둘러싸는 일반적인 방식으로 문자 그대로, 함수 본문 내부의 작은따옴표는 다음과 같아야 합니다. 두 배; 마찬가지로 백슬래시도 두 배로 늘려야 합니다(가정 이스케이프 문자열 구문이 사용됩니다). 이중 따옴표가 가장 좋습니다. 지루하고, 더 복잡한 경우에는 코드가 다음과 같이 될 수 있습니다. 쉽게 찾을 수 있기 때문에 완전히 이해할 수 없습니다. 여섯 개 이상의 인접한 따옴표가 필요합니다. 대신 함수 본문을 다음과 같이 작성하는 것이 좋습니다."달러 인용"문자열 리터럴(참조섹션 4.1.2.4). 달러 인용 방식에서는 절대 두 배가 되지 않습니다. 대신에 다른 따옴표를 선택하도록 주의하세요. 필요한 각 중첩 수준에 대한 달러 인용 구분 기호입니다. 예를 들어, 다음과 같이 작성할 수 있습니다.만들기 기능다음과 같은 명령:

함수 생성 또는 교체 testfunc(integer) 정수를 $PROC$로 반환합니다.
          ....
$PROC$ 언어 토토 사이트pgsql;

이 안에는 간단한 리터럴에 따옴표를 사용할 수 있습니다 SQL 명령의 문자열 및$$에 조립 중인 SQL 명령의 조각을 구분합니다. 문자열. 다음을 포함하는 텍스트를 인용해야 하는 경우$$, 다음을 사용할 수 있습니다.$Q$, 등등.

다음 차트는 글을 쓸 때 해야 할 일을 보여줍니다. 달러 인용이 없는 따옴표. 그럴 때 유용할 수 있습니다. 달러 이전 인용 코드를 더 많은 것으로 변환 이해할 수 있다.

1개의 따옴표

함수 본문을 시작하고 끝내려면, 예를 들어:

CREATE FUNCTION foo()는 정수를 '로 반환합니다.
          ....
' 언어 토토 사이트pgsql;

작은따옴표로 묶인 함수 본문 내 어디에서나 quote 마크반드시쌍으로 나타납니다.

따옴표 2개

함수 본문 내부의 문자열 리터럴의 경우, 예:

a_output := ''어쩌고'';
SELECT * FROM 사용자 WHERE f_name=''foobar'';

달러 인용 방식에서는 다음과 같이 작성하면 됩니다.

a_output := '어쩌고';
SELECT * fROM 사용자 WHERE f_name='foobar';

정확히는 다음과 같습니다토토 사이트/pgSQL파서는 다음 중 하나에서 볼 수 있습니다. 경우.

4개의 따옴표

문자열에 작은따옴표가 필요한 경우 함수 본문 내부의 상수입니다. 예를 들면 다음과 같습니다.

a_output := a_output || '' AND 이름 LIKE ''''foobar'''' AND xyz''

실제로 추가된 값a_output다음과 같을 것입니다:그리고 이름 LIKE 'foobar' AND xyz.

달러 인용 방식에서는 다음과 같이 작성합니다:

a_output := a_output || $$ AND 이름 LIKE 'foobar' AND xyz$$

주위에 달러 인용 구분 기호가 있는지 주의하세요. 이건 그냥이 아니야$$.

6개의 따옴표

문자열 내부에 작은따옴표가 있는 경우 함수 본문이 해당 문자열의 끝에 인접해 있습니다. 상수(예:

a_output := a_output || '' AND 이름 LIKE ''''foobar''''''

다음에 추가된 값a_output그러면 다음과 같습니다:그리고 'foobar'와 같은 이름.

달러 인용 방식에서는 다음과 같습니다.

a_output := a_output || $$ 및 'foobar'$$ 같은 이름
10개의 따옴표

문자열에 두 개의 작은따옴표를 원하는 경우 상수(8개의 따옴표를 설명함) 및 이는 해당 문자열 상수의 끝에 인접합니다(2개 이상). 아마도 당신이 글을 쓰는 경우에만 필요할 것입니다. 다음과 같이 다른 함수를 생성하는 함수예 39-8. 예를 들면:

a_output := a_output || '' v_''인 경우 ||
    Referrer_keys.kind || ''처럼 ''''''''''
    || Referrer_keys.key_string || ''''''''''
    그런 다음 ''''''를 반환합니다 || Referrer_keys.referrer_type
    || ''''''; 다음 경우 종료;'';

a_output아마도 그렇다면:

v_...가 ''...''와 같다면 ''...''를 반환합니다. 다음과 같은 경우 종료;

달러 인용 방식에서는 다음과 같습니다.

a_output := a_output || $$ v_$$인 경우 || Referrer_keys.kind || $$는 '$$처럼
    || Referrer_keys.key_string || $$'
    그런 다음 '$$ || Referrer_keys.referrer_type
    || $$'; 다음과 같은 경우 종료;$$;

여기서는 작은따옴표만 넣으면 된다고 가정합니다. 안으로a_output, 왜냐하면 그럴 것이기 때문입니다. 사용하기 전에 다시 인용하십시오.