Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3
Tài kèo bóng đá pháp này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

41.3. kèo bóng đá pháp

Mô -đun ngôn ngữ PL/Python tự động nhập một Python Mô -đun được gọi làplpy. Các chức năng và hằng số trong mô -đun này có sẵn cho bạn trong mã Python BẰNGplpy.foo. Hiện tạiplpythực hiện các chức năngplpy.debug (msg), plpy.log (msg), plpy.info (msg), plpy.notice (MSG), plpy.warning (msg), plpy.error (msg)plpy.fatal (msg). plpy.errorplpy.fatalthực sự nâng một con trăn ngoại lệ mà, nếu không bị bắt, tuyên kèo bóng đá phápền đến cuộc gọi kèo bóng đá pháp vấn, khiến giao dịch hiện tại hoặc trừ bị hủy bỏ.nâng plpy.error (msg)Nâng cao plpy.fatal (MSG)là tương đương với gọiplpy.errorplpy.fatal, tương ứng. Các Các chức năng khác chỉ tạo ra các thông điệp ưu tiên khác nhau cấp độ. kèo bóng đá pháp các thông điệp của một ưu tiên cụ thể có được báo cáo cho máy khách, được ghi vào nhật ký máy chủ hoặc cả hai đều được điều khiển bởi Thelog_min_messagesclient_min_messagesBiến cấu hình. Nhìn thấyChương 18Để biết thêm thông tin.

Ngoài ra,plpyMô -đun cung cấp hai chức năng được gọi làthực thiChuẩn bị. Gọiplpy.executevới chuỗi truy vấn và Đối số giới hạn tùy chọn khiến truy vấn được chạy và kết quả sẽ được trả về trong một đối tượng kết quả. Đối tượng kết quả mô phỏng một danh sách hoặc đối tượng từ điển. Đối tượng kết quả có thể là được kèo bóng đá pháp bởi số hàng và tên cột. Nó có những cái này bổ sung Phương pháp:NROWStrả về Số lượng hàng được trả về bởi kèo bóng đá pháp vấn vàtrạng tháiđó làspi_execute ()Giá trị trả về. Đối tượng kết quả có thể được sửa đổi.

Ví dụ:

RV = plpy.execute ("Chọn * từ my_table", 5)

Trả về tối đa 5 hàng từmy_table. Nếu nhưmy_tablecó cộtmy_column, nó sẽ được kèo bóng đá pháp như:

foo = rv [i] ["my_column"]

Hàm thứ hai,plpy.prepare, Chuẩn bị Kế hoạch thực hiện cho một kèo bóng đá pháp vấn. Nó được gọi với một chuỗi kèo bóng đá pháp vấn và một danh sách các loại tham số, nếu bạn có tham chiếu tham số trong kèo bóng đá pháp vấn. Ví dụ:

plan = plpy.prepare ("chọn last_name từ my_users trong đó first_name = $ 1", ["văn bản"])

Textlà loại biến bạn sẽ được kèo bóng đá phápền cho$ 1. Sau khi chuẩn bị một câu lệnh, bạn sử dụng chức năngplpy.executeĐể chạy nó:

rv = plpy.execute (kế hoạch, ["name"], 5)

Đối số thứ ba là giới hạn và là tùy chọn.

Khi bạn chuẩn bị kế hoạch bằng mô -đun PL/Python tự động lưu. Đọc tài kèo bóng đá pháp SPI (Chương 42) để biết mô tả về ý nghĩa của điều này. Để sử dụng hiệu quả điều này trên các chức năng, gọi một Cần sử dụng một trong các từ điển lưu trữ liên tụcSDhoặcGD(xemPhần 41.1). Ví dụ:

Tạo chức năng sử dụng đã sử dụng () trả về kích hoạt dưới dạng $$
    Nếu sd.has_key ("kế hoạch"):
        kế hoạch = sd ["kế hoạch"]
    khác:
        Plan = plpy.prepare ("Chọn 1")
        SD ["Kế hoạch"] = Kế hoạch
    # phần còn lại của chức năng
$$ ngôn ngữ plpythonu;