Postgresql 9.2.24 문서 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.2 : 스포츠 토토 결과 2 vs. 스포츠 토토 결과 3 | up | 42 장. PL/윈 토토 -윈 토토 Prossural Language | 사설 토토 : 문서 : 9.2 : 데이터 값 |
pl/윈 토토의 함수는 표준을 통해 선언됩니다함수 만들기구문 :
함수 만들기funcName(Argument-List) 보고return-type$$ # pl/윈 토토 기능 본체 $$ 언어 plythonu;
함수의 본문은 단순히 파이썬 스크립트입니다. 언제 함수라고합니다. 인수는의 요소로 전달됩니다. 목록args; 명명 된 인수도 있습니다 윈 토토 스크립트에 일반 변수로 전달되었습니다. 명명 된 사용 인수는 일반적으로 더 읽기 쉽습니다. 결과가 반환됩니다 일반적인 방식으로 파이썬 코드,return또는수율(경우 결과 세트 명령문). 반환 값을 제공하지 않으면 파이썬은 기본값을 반환합니다없음. pl/윈 토토윈 토토의 번역없음SQL NULL 값으로.
예를 들어, 더 큰 정수를 반환하는 함수 다음과 같이 정의 할 수 있습니다.
함수 생성 Pymax (A Integer, B Integer) 정수를 반환합니다 $$로 A B : 반환 a 반환 b $$ 언어 plythonu;
함수의 본문으로 제공되는 파이썬 코드 정의는 파이썬 함수로 변환됩니다. 예를 들어, 위의 결과 :
def __pl윈 토토_procedure_pymax_23456 () : A B : 반환 a 반환 b
23456이 함수에 할당 된 OID라고 가정하면PostgreSQL.
인수는 글로벌 변수로 설정됩니다. 때문에 파이썬의 범위 규칙, 이것은 미묘한 결과를 초래합니다. 인수 변수는 함수 내부에서 재 할당 할 수 없습니다. 변수 이름 자체와 관련된 표현식 값, 변수가 블록에서 글로벌로 소환되지 않는 한. 을 위한 예를 들어 다음은 작동하지 않습니다.
함수 생성 PyStrip (X Text) 텍스트를 반환합니다 $$로 x = x.strip () # 오류 반환 x $$ 언어 plythonu;
에 할당하기 때문에xMakesx전체 블록의 로컬 변수, 그래서x오른쪽에 있습니다 과제는 제 여정이없는 로컬 변수를 말합니다x, PL/윈 토토 함수 매개 변수가 아닙니다. 사용 사용글로벌진술, 이것이 될 수 있습니다 일하기 위해 만들기 :
함수 생성 PyStrip (X Text) 텍스트를 반환합니다 $$로 글로벌 x x = x.strip () # 지금 반환 x $$ 언어 plythonu;
그러나이 구현 세부 사항에 의존하지 않는 것이 좋습니다. PL/파이썬의. 함수 매개 변수를 다음과 같이 처리하는 것이 좋습니다 읽기 전용.