PostgreSQL 7.4.30 문서 | ||||
---|---|---|---|---|
이전 | 빠른 뒤로 | 40 장. PL/Python -Python Prossural Language | 빠른 전달 | PostgreSQL : 문서 : 7.4 : 서버 프로그래밍 토토 사이트 |
PL/Python 언어 모듈은 파이썬을 자동으로 가져옵니다
호출 된 모듈plpy. 기능과
이 모듈의 상수는 파이썬 코드에서 사용할 수 있습니다.
처럼plpy.foo. 현재plpy함수를 구현plpy.debug ( "msg"), plpy.log ( "msg"), plpy.info ( "msg"), plpy.notice ( "msg"), plpy.warning ( "msg"), plpy.error ( "msg")및plpy.fatal ( "msg"). 그들은 대부분과 같습니다
부름elog (레벨, "msg")C 코드에서. plpy.error
andplpy.fatal
실제로 파이썬 예외를 제기하십시오
끊임없는 경우 PL/Python 모듈이 호출하게됩니다elog (오류, msg)함수시기
핸들러는 Python 통역사에서 반환합니다. 긴 점프에서
파이썬 통역사는 아마 좋지 않을 것입니다.PLPY.ERROR ( "msg")andPlpy.fatal ( "msg") raine plpy.fatal.전화와 동일합니다plpy.error
andplpy.fatal
각각.
추가로plpy모듈
라는 두 가지 기능을 제공합니다.execute
and준비
. 부름plpy.execute
쿼리 문자열과 an
선택적 한계 인수는 해당 쿼리가 실행되고
결과 객체에서 결과가 반환됩니다. 결과 객체
목록 또는 사전 개체를 모방합니다. 결과 객체는 될 수 있습니다
행 번호와 열 이름으로 배트맨 토토합니다. 이 추가 기능이 있습니다
행동 양식:nrows
쿼리에 의해 반환 된 행 수와상태
spi_exec ()
반환 값. 결과 객체는 할 수 있습니다
수정됩니다.
예를 들어
rv = plpy.execute ( "select * from my_table", 5)
최대 5 행까지my_table. 만약에my_table열이 있습니다my_column
foo = rv [i] [ "my_column"]
두 번째 함수,plpy.prepare
, 준비합니다
쿼리에 대한 실행 계획. 쿼리 문자열로 호출됩니다
매개 변수 참조가있는 경우 매개 변수 유형 목록
쿼리. 예를 들어:
plan = ply.prepare ( "first_name = $ 1", [ "text"]
텍스트는 변수의 유형입니다$ 1. 준비 후
진술, 당신은 함수를 사용합니다plpy.execute
실행하려면 :
rv = plpy.execute (plan, [ "name"], 5)
세 번째 인수는 한계이며 선택 사항입니다.
현재 버전에서는 모든 배트맨 토토 오류가 발생합니다 a 실행pl/python함수 그 기능을 즉시 종료 할 것입니다. 섬기는 사람; Python을 사용하여 오류 조건을 함정 할 수 없습니다시도 ... 캐치구성. 예를 들어, a SQL 문의 구문 오류가에 전달되었습니다.plpy.executeCall은 함수가 종료됩니다. 이 동작은 향후 릴리스에서 변경 될 수 있습니다.
PL/Python 모듈을 사용하여 계획을 준비 할 때 자동으로 저장되었습니다. SPI 문서 읽기 (41 장) 이것이 의미하는 바에 대한 설명. 기능을 통해 이것을 효과적으로 사용하기 위해서는 하나를 호출합니다. 지속적인 스토리지 사전 중 하나를 사용해야합니다SD또는gd(참조섹션 40.1). 을 위한 예:
함수 만들기 audavedPlan () 트리거를 반환합니다. sd.has_key ( "plan") 인 경우 : plan = sd [ "Plan"] 또 다른: plan = ply.prepare ( "Select 1") sd [ "plan"] = 계획 # 나머지 기능 '언어 plpythonu;
이전 | 홈 | PostgreSQL : 문서 : 7.4 : 서버 프로그래밍 토토 사이트 |
트리거 기능 | up | 서버 프로그래밍 인터페이스 |