Postgresql 9.3.25 Tài kèo bóng đá euro | ||||
---|---|---|---|---|
prev | UP | Chương 42. PL/Perl | Tiếp theo |
Truy cập vào cơ sở dữ liệu từ kèo bóng đá euro Perl của bạn có thể
spi_exec_query
(Truy vấn[,Max-Rows])spi_exec_querythực thi lệnh SQLBạn chỉ nên sử dụngĐây là một ví dụ về truy vấn (Chọnlệnh) với số lượng tối đa tùy chọn của
$ RV = SPI_EXEC_Query ('Chọn * từ my_table', 5);
Điều này trả về tối đa 5 hàng từ bảngmy_table. Nếu nhưmy_tablecó amy_column, bạn có thể nhận được giá trị đó$ icủa kết quả như thế này:
$ foo = $ rv- hàng [$ i]- my_column;
Tổng số hàng được trả về từ AChọnTruy vấn có thể được truy cập như thế này:
$ NROWS = $ RV- đã xử lý
Đây là một ví dụ sử dụng loại lệnh khác:
$ query = "chèn vào kèo bóng đá euro giá trị my_table (1, 'test')";
Sau đó, bạn có thể truy cập trạng thái lệnh (ví dụ:spi_ok_insert) Như thế này:
$ res = $ rv- status;
Để có số lượng hàng bị ảnh hưởng, làm:
$ NROWS = $ RV- đã xử lý;
Đây là một ví dụ hoàn chỉnh:
Tạo thử nghiệm bảng (
spi_query (lệnh)
spi_fetchrow (con trỏ)
spi_cursor_close (con trỏ)
spi_queryvàspi_fetchrowLàm việc cùng nhau như một cặp cho kèo bóng đá euro bộ hàngspi_fetchrowWorkschỉvớiSPI_Query. Ví dụ sau minh họa cách bạn
Tạo loại foo_type as (The_num Integer, The_Text văn bản);
Thông thường,spi_fetchrow
nên đượcUndef,,SPI_Queryđược tự động giải phóng khispi_fetchrow
returnUndef. Nếu bạn không muốn đọc tất cả kèo bóng đá euro hàng,spi_cursor_close
miễn phí
spi_prepare (lệnh,
kèo bóng đá euro loại đối số)
spi_query_prepared (Plan,
Đối số)
SPI_EXEC_PREPARED (Plan[,thuộc tính],Đối số)
SPI_FreePlan (kế hoạch)
spi_prepare, spi_query_prepared, SPI_EXEC_PREPAREDvàSPI_FreePlanThực hiện cùng một kèo bóng đá euro nhưngspi_prepareChấp nhận
$ plan = spi_prepare ('chọn * từ kiểm tra trong đó id $ 1 và name = $ 2',
Một khi kế hoạch truy vấn được chuẩn bị bằng một cuộc gọi đếnspi_prepare, kế hoạch có thể được sử dụng thay vìSPI_EXEC_PREPARED,,spi_exec_queryhoặc trongspi_query_preparedtrả về con trỏ chính xác nhưspi_querykhông, sau đó có thể được thông quaspi_fetchrow. Thứ hai tùy chọnSPI_EXEC_PREPAREDlà một hàm bămgiới hạn, đặt số lượng tối đa
Ưu điểm của kèo bóng đá euro truy vấn đã chuẩn bị là có thể sử dụngSPI_FreePlan:
Tạo hoặc thay thế hàm init () trả về void dưới dạng $$
Lưu ý rằng chỉ số tham số trongspi_prepaređược xác định qua $ 1, $ 2, $ 3, v.v., vì vậy hãy tránh
Một ví dụ khác minh họa việc sử dụng tham số tùy chọn trongSPI_EXEC_PREPARED:
Tạo máy chủ bảng làm ID chọn, ('192.168.1.' || id) :: Inet dưới dạng địa chỉ
ELOG (Cấp, MSG)
phát ra thông báo nhật ký hoặc lỗi. kèo bóng đá euro cấp độ có thể làDebug, log, INFO, Thông báo, Cảnh báovàERROR. ERRORlàm tăng tình trạng lỗi; Nếu điều nàyDielệnh. kèo bóng đá euro cấp khác chỉlog_min_messagesvàclient_min_messagesBiến cấu hình. Nhìn thấyChươngĐể biết thêm thông tin.
quote_literal (chuỗi)
Trả về chuỗi đã cho được trích dẫn phù kèo bóng đá euro để được sử dụng làm chuỗiquote_literal
trả về Undef về đầu vào chưa hoàn thành; nếu nhưquote_nullable
thường phù kèo bóng đá euro hơn.
quote_nullable (chuỗi)
Trả về chuỗi đã cho được trích dẫn phù kèo bóng đá euro để được sử dụng làm chuỗi
quote_ident (chuỗi)
Trả về chuỗi đã cho được trích dẫn phù kèo bóng đá euro để được sử dụng làm
decode_bytea (chuỗi)
Trả về dữ kèo bóng đá euro nhị phân chưa được ghi nhận được biểu thị bằng nội dung củabyteađược mã hóa.
encode_bytea (chuỗi)
Trả vềbyteaMẫu được mã hóa của
encode_array_literal (mảng)
encode_array_literal (mảng, Delimiter)
Trả về nội dung của mảng được tham chiếu dưới dạng chuỗi trongPhần 8.15.2). Trả lại,"Nếu một dấu phân cách không được chỉ định hoặc là
encode_typed_literal (giá trị, typename)
Chuyển đổi biến Perl thành giá trị của kiểu dữ kèo bóng đá euro được truyền dưới dạng
encode_array_constructor (mảng)
Trả về nội dung của mảng được tham chiếu dưới dạng chuỗi trongPhần). Các giá trị riêng lẻ được trkèo bóng đá euro dẫn bằng cách sử dụngquote_nullable
. Trả về giá trị đối số,quote_nullable
, nếu đó là
looking_like_number (chuỗi)
Trả về giá trị thực nếu nội dung của chuỗi đã choINFvàVô cựcđược coi là số.
is_array_ref (Đối số)
Trả về một giá trị thực nếu đối số đã cho có thể được coi là mộtmảnghoặcPostgresql :: Inserver :: mảng. Trả về sai