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

kèo bóng đá cúp c231.15. Nội bộ

Phần này giải thích cáchECPGhoạt động nội bộ. Thông tin này có thể Thỉnh thoảng rất hữu ích để giúp người dùng hiểu cách sử dụngECPG.

Bốn dòng đầu tiên được viết bởiECPGvới đầu ra là kèo bóng đá cúp c2 dòng cố định. Hai là bình luận và hai là Bao gồm kèo bóng đá cúp c2 dòng cần thiết để giao diện với thư viện. Sau đó Bộ tiền xử lý đọc thông qua tệp và ghi đầu ra. Thông thường nó chỉ lặp lại mọi thứ với đầu ra.

Khi nó nhìn thấyEXEC kèo bóng đá cúp c2Tuyên bố, Nó can thiệp và thay đổi nó. Lệnh bắt đầu bằngEXEC kèo bóng đá cúp c2và kết thúc bằng;. Mọi thứ ở giữa được coi làkèo bóng đá cúp c2Câu lệnh và phân tích cú pháp cho biến thay thế.

Thay thế biến xảy ra khi biểu tượng bắt đầu bằng dấu hai chấm (:). Biến với tên đó là tra cứu giữa kèo bóng đá cúp c2 biến đã được tuyên bố trước đây trong aexec kèo bóng đá cúp c2 khai báoPhần.

Hàm quan trọng nhất trong thư viện làECPGDO, chăm sóc việc thực hiện hầu hết lệnh. Nó có một số lượng khác nhau của kèo bóng đá cúp c2 đối số. Điều này có thể dễ dàng thêm tới 50 đối số hoặc hơn, và chúng tôi hy vọng điều này sẽ không một vấn đề trên bất kỳ nền tảng nào.

kèo bóng đá cúp c2 đối số là:

kèo bóng đá cúp c2 số dòng

Đây là số dòng của dòng gốc; được sử dụng trong Chỉ có thông báo lỗi.

kèo bóng đá cúp c2 chuỗi

Đây làkèo bóng đá cúp c2lệnh sẽ được ban hành. Nó được sửa đổi bởi đầu vào kèo bóng đá cúp c2 biến, tức là, kèo bóng đá cúp c2 biến mà không được biết đến tại biên dịch thời gian nhưng sẽ được nhập vào lệnh. Ở đâu kèo bóng đá cúp c2 biến sẽ đi vào chuỗi chứa?.

Biến đầu vào

Mỗi biến đầu vào đều gây ra mười đối số được tạo. (Xem bên dưới.)

ECPGT_EOIT

ANenumnói rằng không có Thêm kèo bóng đá cúp c2 biến đầu vào.

Biến đầu ra

Mỗi biến đầu ra đều gây ra mười đối số tạo. (Xem bên dưới.) kèo bóng đá cúp c2 biến này được điền bởi chức năng.

ECPGT_EORT

ANenumnói rằng không có nhiều biến hơn.

Đối với mọi biến là kèo bóng đá cúp c2 phần củakèo bóng đá cúp c2lệnh, chức năng nhận được mười Đối số:

  1. Loại dưới dạng biểu tượng đặc biệt.

  2. kèo bóng đá cúp c2 con trỏ tới giá trị hoặc con trỏ tới con trỏ.

  3. Kích thước của biến nếu đó làCharhoặcVarchar.

  4. Số lượng phần tử trong mảng (cho mảng tìm nạp).

  5. phần bù cho phần tử tiếp theo trong mảng (cho mảng tìm nạp).

  6. Loại biến chỉ báo là đặc biệt biểu tượng.

  7. kèo bóng đá cúp c2 con trỏ tới biến chỉ báo.

  8. 0

  9. Số lượng phần tử trong mảng chỉ báo (cho mảng tìm nạp).

  10. phần bù cho phần tử tiếp theo trong mảng chỉ báo (cho mảng tìm nạp).

Lưu ý rằng không phải tất cả các lệnh kèo bóng đá cúp c2 đều được xử lý theo cách này. Vì ví dụ, một câu lệnh con trỏ mở như

exec kèo bóng đá cúp c2 opencon trỏ;

không được sao chép vào đầu ra. Thay vào đó, con trỏkhai báoLệnh được sử dụng tại vị trí củaMởlệnh vì nó thực sự mở con trỏ.

Đây là kèo bóng đá cúp c2 ví dụ hoàn chỉnh mô tả đầu ra của tiền xử lý của kèo bóng đá cúp c2 tệpfoo.pgc(chi tiết có thể thay đổi với từng phiên bản cụ thể của bộ tiền xử lý):

EXEC kèo bóng đá cúp c2 BẮT ĐẦU phần khai báo;
chỉ mục int;
kết quả int;
EXEC kèo bóng đá cúp c2 END TUYÊN BỐ TUYÊN BỐ;
...
EXEC kèo bóng đá cúp c2 Chọn Res vào: Kết quả từ MyTable WHERE index =: index;

được dịch thành:

/ * Được xử lý bởi ECPG (2.6.0) *//
/ * Hai tệp bao gồm này được thêm bởi bộ tiền xử lý *//
#include <ecpgtype.h;
#include <ecpglib.h;

/ * exec kèo bóng đá cúp c2 bắt đầu khai báo phần */

#line 1 "foo.pgc"

 chỉ mục int;
 kết quả int;
/ * phần khai báo cuối kèo bóng đá cúp c2 kèo bóng đá cúp c2 *//
...
ECPGDO (__ line__, null, "Chọn Res từ MyTable WHERE index =?",
        ECPGT_INT, & (INDEX), 1L, 1L, sizeof (int),
        ECPGT_NO_INDICATOR, NULL, 0L, 0L, 0L, ECPGT_EOIT,
        ECPGT_INT, & (kết quả), 1L, 1L, sizeof (int),
        ECPGT_NO_INDICATOR, NULL, 0L, 0L, 0L, ECPGT_EORT);
#line 147 "foo.pgc"

(thụt lề ở đây được thêm vào để đọc và không kèo bóng đá cúp c2 cái gì đó mà bộ tiền xử lý làm.)