Postgresql 8.3.23 Tài kèo bóng đá pháp | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 41. PL/Python - Ngôn ngữ thủ tục Python | Chuyển tiếp nhanh | Tiếp theo |
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)vàplpy.fatal (msg). plpy.error
vàplpy.fatal
thự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)vàNâng cao
plpy.fatal (MSG)là
tương đương với gọiplpy.error
vàplpy.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_messagesvàclient_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 thi
vàChuẩn bị
. Gọiplpy.execute
vớ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:NROWS
trả 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;