Phiên bản không được hỗ trợ:7.3 / 7.2 / 7.1
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 đá trang chohiện tạiPhiên bản hoặc tỷ lệ kèo bóng đá trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

tỷ lệ kèo bóng đáspi_prepare

tên

spi_prepare-chuẩn bị kế hoạch cho tỷ lệ kèo bóng đá truy vấn, mà không thực hiện nó chưa

Synopsis

spi_prepare (tỷ lệ kèo bóng đá, NARGS, argtypes)

Đầu vào

tỷ lệ kèo bóng đá

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

NARGS

Số lượng tham số đầu vào ($ 1 ... $ nargs - như trong Sql-fections)

argtypes

Con trỏ đến mảng loạioidS cho các loại tham số đầu vào

đầu ra

void *

Con trỏ lên tỷ lệ kèo bóng đá thực hiện (Trình phân tích cú pháp+Máy lập tỷ lệ kèo bóng đá+Trình tối ưu hóa)

Mô tả

spi_prepareTạo và trả lại Kế hoạch thực thi (trình phân tích cú pháp+Planner+Tối ưu hóa) nhưng không thực thi Truy vấn. Chỉ nên được gọi từ tỷ lệ kèo bóng đá thủ tục được kết nối.

sử dụng

Khi truy vấn tương tự hoặc tương tự sẽ được thực thi nhiều lần, Nó có thể là thuận lợi khi chỉ thực hiện lập kế hoạch truy vấn tỷ lệ kèo bóng đá lần.spi_prepareChuyển đổi chuỗi truy vấn thành tỷ lệ kèo bóng đá kế hoạch thực thi có thể được chuyển liên tục choSPI_EXECP.

tỷ lệ kèo bóng đá truy vấn đã 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 đá truy vấn thông thường. Các giá trị của các tham số sau đó được chỉ định khiSPI_EXECPđược gọi. Điều này cho phép chuẩn bị truy vấn sẽ được sử dụng trong tỷ lệ kèo bóng đá loạt các tình huống hơn có thể mà không có tham số.

Lưu ý:Tuy nhiên, có tỷ lệ kèo bóng đá bất lợi: kể từ người lập kế hoạch không biết các giá trị sẽ được cung cấp cho các tham số, nó có thể đưa ra các lựa chọn lập kế hoạch truy vấn tồi tệ hơn nó sẽ tạo ra tỷ lệ kèo bóng đá truy vấn đơn giản với tất cả các hằng số dễ thấy.

Nếu tỷ lệ kèo bóng đá sử dụng tham số, số lượng và loại dữ liệu của chúng phải được chỉ định trong cuộc gọi đếnspi_prepare.

tỷ lệ kèo bóng đá được trả về bởispi_preparechỉ có thể được sử dụng trong lời mời hiện tại của quy trình kể từspi_finishBộ nhớ giải phóng được phân bổ cho tỷ lệ kèo bóng đá kế hoạch. Nhưng xemspi_saveplanđến Lưu tỷ lệ kèo bóng đá lâu hơn.

Nếu thành công, tỷ lệ kèo bóng đá con trỏ không null sẽ được trả lại. Nếu không thì, Bạn sẽ nhận được tỷ lệ kèo bóng đá kế hoạch null. Trong cả hai trường hợp, spi_result sẽ được đặt như giá trị được trả về bởi spi_exec, ngoại trừ nó được đặt thànhspi_error_argumentNếu tỷ lệ kèo bóng đá là Null hoặc nargs <0 hoặc nargs 0 && argtypes là VÔ GIÁ TRỊ.