Phần này chứa một ví dụ rất đơn giản về việc sử kèo bóng đá phápng SPI. Hàm CEXECQ
lấy lệnh SQL làm đối số đầu tiên và một hàng được tính là thứ hai, thực thi lệnh bằng cách sử kèo bóng đá phápngSPI_EXEC
và trả về số lượng kèo bóng đá pháp được xử lý theo lệnh. Bạn có thể tìm thấy các ví dụ phức tạp hơn cho SPI trong cây nguồn trongsrc/test/repress/repress.c
và trongSPIMô -đun.
#include "Postgres.h"
Đây là cách bạn khai báo chức năng sau khi biên dịch nó vào thư viện dùng chung (chi tiết trongPhần 37.10.5.):
Tạo hàm EXECQ (Text, Integer) Trả về Int8FileName
'
Đây là phiên mẫu:
= chọn Execq ('Tạo Bảng A (x số nguyên)', 0);- Được chèn bởi execINFO: Execq: 1- Được ASCQ trả về và được chèn bằng cách chèn trênExecq- 0 + 2, sau đó việc thực thi đã bị dừng bằng cách đếmExecq- 10 chỉ là giá trị tối đa, 3 là số thực của kèo bóng đá pháp(1 kèo bóng đá pháp)- Tất cả các kèo bóng đá pháp được xử lý; Đếm không dừng nó, vì không có gì được trả lại(1 kèo bóng đá pháp)- 0 (không có kèo bóng đá pháp trong a) + 1(1 kèo bóng đá pháp)- 1 (có một kèo bóng đá pháp trong a) + 1(2 kèo bóng đá pháp)- Điều này thể hiện quy tắc hiển thị thay đổi dữ kèo bóng đá pháp. - Execq được gọi là hai lần và nhìn thấy các số kèo bóng đá pháp khác nhau mỗi lần:= Chèn vào một exec Chọn ('select * từ a', 0) * x từ a;- Kết quả từ First EXECThông tin: Execq: 2- Kết quả từ EXECQ thứ haiThông tin: Execq: 2- 2 kèo bóng đá pháp * 1 (x ở kèo bóng đá pháp đầu tiên) 6 - 3 kèo bóng đá pháp (2 + 1 vừa được chèn) * 2 (x trong kèo bóng đá pháp thứ hai)(4 kèo bóng đá pháp)