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 / 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 kèo chấp bóng đá hôm nay trang chohiện tạiPhiên bản hoặc kèo chấp bóng đá hôm nay trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

45.6. Ví dụ#

Phần này chứa một ví dụ rất đơn giản về việc sử kèo chấp bóng đá hôm nayng SPI. Hàm CEXECQlấ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 chấp bóng đá hôm nayngSPI_EXEC11017_11152src/test/regress/repress.cvà trongSPIMô -đun.

11380_12626

Đâ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 36.10.5.):

Tạo hàm EXECQ (Text, Integer) Trả về Int8
    BẰNG 'FileName'
    Ngôn ngữ C nghiêm ngặt;

Đây là phiên mẫu:

= Chọn Execq ('Tạo Bảng A (x số nguyên)', 0);
 EXECQ
-------
     0
(1 kèo chấp bóng đá hôm nay)

= Chèn vào một giá trị (exec ('chèn vào một giá trị (0)', 0));
Chèn 0 1
= Chọn Execq ('Chọn * từ A', 0);
Thông tin: Execq: 0- Được chèn bởi exec13432_13455- Được ASCQ trả về và được chèn bằng cách chèn trênExecq
-------
     2
(1 kèo chấp bóng đá hôm nay)

= Chọn Execq ('Chèn vào một chọn x + 2 từ một lần trả về *', 1);
Thông tin: Execq: 2- 0 + 2, sau đó thực thi đã bị dừng bằng cách đếmExecq
-------
     1
(1 kèo chấp bóng đá hôm nay)

= Chọn Execq ('Chọn * từ A', 10);
Thông tin: Execq: 0
Thông tin: Execq: 1
Thông tin: Execq: 2

 EXECQ
-------
     3- 10 chỉ là giá trị tối đa, 3 là số thực của kèo chấp bóng đá hôm nay(1 kèo chấp bóng đá hôm nay)

= Chọn Execq ('Chèn vào A Chọn x + 10 từ A', 1);
 EXECQ
-------
     3- Tất cả các kèo chấp bóng đá hôm nay được xử lý; Đếm không dừng nó, vì không có gì được trả lại(1 kèo chấp bóng đá hôm nay)

= Chọn * từ a;
 x
----
  0
  1
  2
 10
 11
 12
(6 kèo chấp bóng đá hôm nay)

= Xóa khỏi a;
Xóa 6
= Chèn vào một giá trị (Execq ('select * từ a', 0) + 1);
Chèn 0 1
= Chọn * từ a;
 x
---
 1- 0 (không có kèo chấp bóng đá hôm nay trong a) + 1(1 kèo chấp bóng đá hôm nay)

= Chèn vào một giá trị (Execq ('select * từ a', 0) + 1);
Thông tin: Execq: 1
Chèn 0 1
= Chọn * từ a;
 x
---
 1
 2- 1 (có một kèo chấp bóng đá hôm nay trong A) + 1(2 kèo chấp bóng đá hôm nay)- Điều này thể hiện quy tắc hiển thị thay đổi dữ liệu.
- Execq được gọi là hai lần và thấy các số kèo chấp bóng đá hôm nay khác nhau mỗi lần:= Chèn vào kèo chấp bóng đá hôm nay exec chọn ('select * từ a', 0) * x từ a;
Thông tin: Execq: 1- Kết quả từ First EXECThông tin: Execq: 2
Thông tin: Execq: 1- Kết quả từ EXECQ thứ haiThông tin: Execq: 2
Thông tin: Execq: 2
Chèn 0 2
= Chọn * từ a;
 x
---
 1
 2
 2- 2 kèo chấp bóng đá hôm nay * 1 (x ở kèo chấp bóng đá hôm nay đầu tiên)
 6                  - 3 kèo chấp bóng đá hôm nay (2 + 1 vừa được chèn) * 2 (x trong kèo chấp bóng đá hôm nay thứ hai)(4 kèo chấp bóng đá hôm nay)