Trong một quy trình được gọi từ cấp cao nhất hoặc một khối mã ẩn danh (do
Lệnh) được gọi từ cấp cao nhất có thể kiểm soát các giao dịch. Để thực hiện giao dịch hiện tại, hãy gọiplpy.commit ()
. Để quay lại giao dịch hiện tại, hãy gọiplpy.rollback ()
. (Lưu ý rằng không thể chạy các lệnh SQLcam kết
hoặcrollback
Viaplpy.execute
hoặc tương tự. Nó phải được thực hiện bằng cách sử dụng các chức năng này.) Sau khi kết thúc giao dịch, một giao dịch mới được tự động bắt đầu, do đó không có chức năng riêng cho điều đó.
Đây là một ví dụ:
Tạo quy trình giao dịch_test1 () Ngôn ngữ plpythonu Như $$ Đối với tôi trong phạm vi (0, 10): plpy.execute ("Chèn vào các giá trị Test1 (a) ( % d)" % i) Nếu i % 2 == 0: plpy.commit () khác: plpy.rollback () $$; Gọi giao dịch_test1 ();
Giao dịch không thể kết thúc khi việc trừ rõ ràng đang hoạt động.