46.8. 거래 관리

최상위 레벨 또는 익명 코드 블록에서 호출된 프로시저에서 (DO7768_7886plpy.commit(). 현재 트랜잭션을 롤백하려면 다음을 호출하세요.plpy.rollback(). (SQL 명령을 실행할 수 없다는 점에 유의하세요.커밋또는롤백경유plpy.execute또는 유사합니다. 이 기능을 이용해서 해야 합니다.) 트랜잭션이 종료되면 자동으로 새로운 트랜잭션이 시작되므로 이에 대한 별도의 기능은 없습니다.

다음은 예입니다:

프로시저 생성 transaction_test1()
언어 plpython3u
AS $$
i가 범위(0, 10)에 있는 경우:
    plpy.execute("테스트 1에 삽입 (a) 값 (%d)" % i)
    내가 % 2 == 0인 경우:
        plpy.commit()
    그 외:
        plpy.롤백()
$$;

전화 transaction_test1();

명시적인 하위 트랜잭션이 활성화되면 트랜잭션을 종료할 수 없습니다.

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.