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
Tài liệu 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 tỷ lệ kèo bóng đá 88 trang chohiện tạiPhiên bản hoặc tỷ lệ kèo bóng đá 88 trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

spi_prepare

spi_prepare - Chuẩn bị tỷ lệ kèo bóng đá 88 tuyên bố, mà không cần thực hiện nó

Synopsis

spiplanptr spi_prepare (const char *tỷ lệ kèo bóng đá 88, intNARGS, oid *argtypes)

Mô tả

spi_prepareTạo và trả về tỷ lệ kèo bóng đá 88 câu lệnh đã chuẩn bị cho lệnh được chỉ định, nhưng không thực thi lệnh. Câu lệnh đã chuẩn bị sau đó có thể được thực thi nhiều lần bằng cách sử dụngSPI_EXECUTE_PLAN.

10944_11160spi_prepareChuyển đổi tỷ lệ kèo bóng đá 88 chuỗi lệnh thành tỷ lệ kèo bóng đá 88 câu lệnh đã chuẩn bị gói gọn kết quả phân tích phân tích. Tuyên bố đã chuẩn bị cũng cung cấp tỷ lệ kèo bóng đá 88 nơi để lưu trữ kế hoạch thực thi nếu thấy rằng việc tạo ra tỷ lệ kèo bóng đá 88 kế hoạch tùy chỉnh cho mỗi lần thực thi là không hữu ích.

tỷ lệ kèo bóng đá 88 lệnh đã chuẩn bị có thể được khái quát bằng cách ghi các tham số ($ 1, $ 2, v.v.) thay cho những gì sẽ là hằng số trong tỷ lệ kèo bóng đá 88 lệnh bình thường. Các giá trị thực của các tham số sau đó được chỉ định khiSPI_EXECUTE_PLANđược gọi. Điều này cho phép tỷ lệ kèo bóng đá 88 đã chuẩn bị được sử dụng trong phạm vi các tình huống rộng hơn có thể mà không có tham số.

Câu tỷ lệ kèo bóng đá 88 được trả về bởispi_prepareChỉ có thể được sử dụng trong tỷ lệ kèo bóng đá 88 gọi hiện tại của hàm C, vìspi_finishGiải phóng bộ nhớ được phân bổ cho tỷ lệ kèo bóng đá 88 tuyên bố như vậy. Nhưng câu lệnh có thể được lưu lâu hơn bằng cách sử dụng các chức năngspi_keepplanhoặcspi_saveplan.

Đối số

​​const char *tỷ lệ kèo bóng đá 88

chuỗi tỷ lệ kèo bóng đá 88

intNARGS

Số lượng tham số đầu vào ($ 1, $ 2, v.v.)

oid *argtypes

Con trỏ tới tỷ lệ kèo bóng đá 88 mảng chứaoidS của các loại dữ liệu của các tham số

Giá trị trả lại

spi_prepareTrả về tỷ lệ kèo bóng đá 88 con trỏ không null cho tỷ lệ kèo bóng đá 88Spiplan, đó là tỷ lệ kèo bóng đá 88 cấu trúc mờ biểu thị tỷ lệ kèo bóng đá 88 câu lệnh đã chuẩn bị. Trên lỗi,nullsẽ được trả về vàspi_resultsẽ được đặt thành tỷ lệ kèo bóng đá 88 trong cùng tỷ lệ kèo bóng đá 88 mã lỗi được sử dụng bởiSPI_EXECUTE, ngoại trừ nó được đặt thànhspi_error_argumentnếutỷ lệ kèo bóng đá 88nullhoặc nếuNARGSnhỏ hơn 0 hoặc nếuNARGSlớn hơn 0 vàargtypesnull.

Ghi chú

Nếu không có tham số nào được xác định, tỷ lệ kèo bóng đá 88 kế hoạch chung sẽ được tạo ở lần đầu tiên sử dụngSPI_EXECUTE_PLAN, và được sử dụng cho tất cả các thực thi tiếp theo. Nếu có các tham số, tỷ lệ kèo bóng đá 88 vài lần sử dụng đầu tiên củaSPI_EXECUTE_PLANsẽ tạo các gói tùy chỉnh dành riêng cho các giá trị tham số được cung cấp. Sau khi sử dụng đủ của cùng tỷ lệ kèo bóng đá 88 câu lệnh đã chuẩn bị,SPI_EXECUTE_PLANsẽ xây dựng tỷ lệ kèo bóng đá 88 kế hoạch chung và nếu điều đó không quá đắt so với các kế hoạch tùy chỉnh, nó sẽ bắt đầu sử dụng kế hoạch chung thay vì lập kế hoạch lại mỗi lần. Nếu hành vi mặc định này không phù hợp, bạn có thể thay đổi nó bằng cách vượt quacon trỏ_opt_generic_planhoặccursor_opt_custom_plancờ đếnspi_prepare_cursor, để buộc sử dụng các kế hoạch chung hoặc tùy chỉnh tương ứng.

Mặc dù điểm chính của câu tỷ lệ kèo bóng đá 88 đã chuẩn bị là để tránh phân tích phân tích và lập kế hoạch phân tích lặp đi lặp lại của câu tỷ lệ kèo bóng đá 88,PostgreSQL15191_15428search_pathThay đổi từ sử dụng này sang cách tiếp theo, câu tỷ lệ kèo bóng đá 88 sẽ được sắp xếp lại bằng cách sử dụng mớisearch_path. (Hành vi sau này là mới nhưPostgreSQL9.3.) XemChuẩn bịĐể biết thêm thông tin về hành vi của các câu tỷ lệ kèo bóng đá 88 được chuẩn bị.

Hàm này chỉ nên được gọi từ hàm C được kết nối.

spiplanptrđược khai báo là tỷ lệ kèo bóng đá 88 con trỏ tới tỷ lệ kèo bóng đá 88 loại cấu trúc mờ trongspi.h. Không khôn ngoan khi cố gắng truy cập trực tiếp vào nội dung của nó, vì điều đó làm cho mã của bạn có nhiều khả năng phá vỡ các bản sửa đổi trong tương lai củaPostgreSQL.

TênspiplanptrCó phần lịch sử, vì cấu trúc dữ liệu không nhất thiết phải chứa tỷ lệ kèo bóng đá 88 kế hoạch thực thi.