kèo bóng đá cúp c2 | ||
---|---|---|
prev | Chương 39. Giao diện lập trình máy chủ | NEXT |
Ví dụ này về việc sử kèo bóng đá cúp c2ng SPI thể hiện quy tắc hiển thị. Có nhiều ví dụ phức tạp hơn trong SRC/Test/Refor/Reform và trong đóng góp/spi.
Đây là kèo bóng đá cúp c2 ví dụ rất đơn giản về việc sử dụng SPI. Quy trình Execq Chấp nhận kèo bóng đá cúp c2 Trận đấu SQL trong đối số đầu tiên và Tcount trong thứ hai, thực thi truy vấn bằng spi_exec và trả về số lượng Tuples mà truy vấn được thực thi:
int exec (văn bản *sql, int cnt); int EXECQ (Text *SQL, Int CNT) int ret; int Proc = 0; Spi_connect (); ret = spi_exec (textout (sql), cnt); Proc = spi_proced; /* * Nếu điều này được chọn và kèo bóng đá cúp c2 số Tuple (s) được tìm nạp - * Trả về các bộ dữ liệu cho người gọi thông qua ELOG (thông báo). */ if (ret == spi_ok_select && spi_proced 0) Tupledesc tupdesc = spi_tuptable- tupdesc; Spitupletable *TUPTABLE = spi_tuptable; char buf [8192]; int i; for (ret = 0; ret <proc; ret ++) Nặng tuple = tupsable- vals [ret]; for (i = 1, buf [0] = 0; i <= tupdesc- natts; i ++) Sprintf (buf + strlen (buf), " %s %s", Spi_getvalue (tuple, tupdesc, i), (i == Tupdesc- natts)? "": "|"); ELOG (Thông báo, "Execq: %s", BUF); Spi_finish (); trở lại (Proc);
Bây giờ, biên dịch và tạo hàm:
Tạo chức năng EXEC
Vac = chọn Execq ('Tạo Bảng A (x Int4)', 0); EXECQ ----- 0 (1 hàng) Vac = chèn vào kèo bóng đá cúp c2 giá trị (exec ('chèn vào kèo bóng đá cúp c2 giá trị (0)', 0)); Chèn 167631 1 Vac = Chọn Execq ('Chọn * từ A', 0); THÔNG BÁO: EXECQ: 0 <<< Được chèn bởi EXECQ THÔNG BÁO: EXECQ: 1 <<< Giá trị được thực thi trả về và được chèn bằng cách chèn trên EXECQ ----- 2 (1 hàng) Vac = Chọn Execq ('Chèn vào A Chọn x + 2 từ A', 1); EXECQ ----- 1 (1 hàng) Vac = Chọn Execq ('Chọn * từ A', 10); THÔNG BÁO: EXECQ: 0 THÔNG BÁO: EXECQ: 1 THÔNG BÁO: EXECQ: 2 <<< 0 + 2, chỉ có kèo bóng đá cúp c2 tuple được chèn - như được chỉ định EXECQ ----- 3 <<< 10 chỉ có giá trị tối đa, 3 là thực sự # của các bộ dữ (1 hàng) Vac = Xóa khỏi a; Xóa 3 Vac = Chèn vào kèo bóng đá cúp c2 giá trị (Execq ('select * từ a', 0) + 1); Chèn 167712 1 Vac = Chọn * từ a; x - 1 <<< Không có bộ dữ liệu trong A (0) + 1 (1 hàng) Vac = Chèn vào kèo bóng đá cúp c2 giá trị (Execq ('select * từ a', 0) + 1); THÔNG BÁO: EXECQ: 0 Chèn 167713 1 Vac = Chọn * từ a; x - 1 2 <<< Có kèo bóng đá cúp c2 tuple duy nhất trong A + 1 (2 hàng) - Điều này thể hiện Quy tắc hiển thị thay đổi dữ liệu: Vac = Chèn vào kèo bóng đá cúp c2 exec Chọn ('select * từ a', 0) * x từ a; THÔNG BÁO: EXECQ: 1 THÔNG BÁO: EXECQ: 2 THÔNG BÁO: EXECQ: 1 THÔNG BÁO: EXECQ: 2 THÔNG BÁO: EXECQ: 2 Chèn 0 2 Vac = Chọn * từ a; x - 1 2 2 <<< 2 Tuples * 1 (x trong đầu tiên) 6 <<< 3 Tuples (2 + 1 vừa được chèn) * 2 (x trong phần thứ hai) (4 hàng) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Tuples hiển thị cho exec () trong các yêu cầu khác nhau
prev | Trang chủ | NEXT |
Tầm nhìn của dữ kèo bóng đá cúp c2 Thay đổi | UP | libpq |