spi_prepare (tỷ lệ kèo bóng đá, NARGS, argtypes)
spi_prepare
Tạ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.
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_prepare
Chuyể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_prepare
chỉ có thể được sử dụng trong lời mời hiện tại của quy trình kể từspi_finish
Bộ 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Ị.