| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| Postgre스포츠 토토 베트맨 : 문서 : 9.3 : pl/pg스포츠 토토 베트맨 hood | Postgre메이저 토토 사이트 : 문서 : 9.3 : PL/PG메이저 토토 사이트 -메이저 토토 사이트 절차 언어 | 40장.와이즈 토토/pgSQL - SQL절차적 언어 | 다음 | |
개발할 수 있는 좋은 방법 중 하나와이즈 토토/pgSQL다음의 텍스트 편집기를 사용하는 것입니다. 함수를 생성하도록 선택하고 다른 창에서 다음을 사용하세요.psql로드하고 테스트하려면 기능. 이런 식으로 하면 글을 쓰는 것이 좋습니다. 사용하는 함수생성 또는 교체 기능. 그렇게 하면 파일을 다시 로드하여 업데이트할 수 있습니다. 기능 정의. 예를 들면:
함수 생성 또는 교체 testfunc(integer) $$로 정수를 반환합니다.
....
$$ 언어 와이즈 토토pgsql;
실행 중psql, 할 수 있어요 다음을 사용하여 그러한 함수 정의 파일을 로드하거나 다시 로드하십시오.
\i 파일명.sql
그런 다음 즉시 SQL 명령을 실행하여 테스트합니다. 기능.
개발하는 또 다른 좋은 방법와이즈 토토/pgSQLGUI 데이터베이스 액세스 도구를 사용합니다. 절차적 언어의 개발을 촉진합니다. 한 가지 예 그러한 도구 중 하나는pgAdmin, 다른 것들도 존재하지만. 이러한 도구는 종종 편리한 기능을 제공합니다. 작은따옴표를 이스케이프하고 더 쉽게 만드는 등의 기능 함수를 다시 만들고 디버깅합니다.
a의 코드와이즈 토토/pgSQL함수 에 지정되어 있습니다.함수 생성으로 문자열 리터럴. 일반적인 방법으로 문자열 리터럴을 작성하면 작은따옴표로 묶은 다음 그 안에 작은따옴표를 추가합니다. 함수 본문은 두 배가 되어야 합니다. 마찬가지로 모든 백슬래시는 다음과 같아야 합니다. 두 배로 증가했습니다(이스케이프 문자열 구문이 사용된다고 가정). 이중 따옴표는 기껏해야 지루하고, 더 복잡한 경우에는 코드가 다음과 같이 될 수 있습니다. 당신은 쉽게 자신을 찾을 수 있기 때문에 완전히 이해할 수 없습니다 여섯 개 이상의 인접한 따옴표가 필요합니다. 추천합니다 대신 함수 본문을 다음과 같이 작성합니다."달러 인용"문자열 리터럴(참조섹션 4.1.2.4). 달러 인용 접근 방식에서는 절대 두 배의 금액이 발생하지 않습니다. 대신에 다른 따옴표를 선택하도록 주의하세요. 필요한 각 중첩 수준에 대한 달러 인용 구분 기호입니다. 에 대한 예를 들어, 다음과 같이 작성할 수 있습니다.만들기 기능다음과 같은 명령:
함수 생성 또는 교체 testfunc(integer) 정수를 $PROC$로 반환합니다.
....
$PROC$ 언어 plpgsql;
이 안에는 간단한 리터럴에 따옴표를 사용할 수 있습니다 SQL 명령의 문자열 및$$구분하다 문자열로 조합하는 SQL 명령 조각입니다. 만약에 다음을 포함하는 텍스트를 인용해야 합니다.$$, 당신은 사용할 수 있습니다$Q$등.
다음 차트는 견적을 작성할 때 해야 할 일을 보여줍니다. 달러 인용 없이 표시됩니다. 번역할 때 유용할 것 같아요 달러 이전 인용 코드를 좀 더 이해하기 쉽게 변경했습니다.
함수 본문을 시작하고 끝내려면 다음과 같이 하십시오:
CREATE FUNCTION foo()는 정수를 '로 반환합니다.
....
' 언어 와이즈 토토pgsql;
작은따옴표로 묶인 함수 본문 내의 모든 위치, 따옴표반드시쌍으로 나타납니다.
함수 본문 내부의 문자열 리터럴의 경우, 예:
a_output := ''어쩌고''; SELECT * FROM 사용자 WHERE f_name=''foobar'';
달러 인용 방식에서는 다음과 같이 작성하면 됩니다.
a_output := '어쩌고'; SELECT * fROM 사용자 WHERE f_name='foobar';
정확히 그거야와이즈 토토/pgSQL파서는 두 경우 모두 볼 수 있습니다.
문자열 상수에 작은따옴표가 필요한 경우 함수 본문 내부. 예:
a_output := a_output || '' AND 이름 LIKE ''''foobar'''' AND xyz''
실제로 추가된 값a_output다음과 같을 것입니다:그리고 'foobar' 같은 이름 AND xyz.
달러 인용 방식에서는 다음과 같이 작성합니다:
a_output := a_output || $$ AND 이름 LIKE 'foobar' AND xyz$$
이 주변의 달러 인용 구분 기호가 있는지 주의하세요. 뿐만 아니라$$.
함수 내부 문자열에 작은따옴표가 있는 경우 body는 해당 문자열 상수의 끝에 인접해 있습니다. 예:
a_output := a_output || '' AND 이름 LIKE ''''foobar''''''
다음에 추가된 값a_output아마도 그렇다면:그리고 'foobar' 같은 이름.
달러 인용 방식에서는 다음과 같습니다.
a_output := a_output || $$ 및 'foobar'$$ 같은 이름
문자열 상수에 두 개의 작은따옴표를 원하는 경우 (8개의 따옴표를 차지함) 그리고 이것은 해당 문자열 상수의 끝(2개 이상). 아마도 당신은 다른 함수를 생성하는 함수를 작성하는 경우 에서와 같이예 40-9. 예를 들면:
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, 다시 인용될 것이기 때문입니다. 사용하기 전에.
| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 와이즈 토토/pgSQL내부적으로 | Postgre메이저 토토 사이트 : 문서 : 9.3 : PL/PG메이저 토토 사이트 -메이저 토토 사이트 절차 언어 | 다음에서 이동 중오라클PL/SQL |