이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다토토 결과 : 문서 : 17 : 44.6. 토토 결과 배트맨 토토버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

40.3. 데이터베이스 배트맨 토토

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.errorandplpy.fatal실제로 파이썬 예외를 제기하십시오 끊임없는 경우 PL/Python 모듈이 호출하게됩니다elog (오류, msg)함수시기 핸들러는 Python 통역사에서 반환합니다. 긴 점프에서 파이썬 통역사는 아마 좋지 않을 것입니다.PLPY.ERROR ( "msg")andPlpy.fatal ( "msg") raine plpy.fatal.전화와 동일합니다plpy.errorandplpy.fatal각각.

추가로plpy모듈 라는 두 가지 기능을 제공합니다.executeand준비. 부름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;