Phần này giải thích cáchECPGhoạt động nội bộ. Thông tin này đôi khi có thể 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ởiECPG
với đầu ra là kèo bóng đá euro dòng cố định. Hai là nhận xét và hai là bao gồm kèo bóng đá euro dòng cần thiết để giao diện với thư viện.
Khi nhìn thấyEXEC SQL
Câu lệnh, nó đã can thiệp và thay đổi nó. Lệnh bắt đầu bằngEXEC SQL
và kết thúc bằng;
. Mọi thứ ở giữa được coi làSQLCâu lệnh và phân tích cú pháp để thay thế kèo bóng đá euro.
Thay thế kèo bóng đá euro xảy ra khi biểu tượng bắt đầu bằng dấu hai chấm (:
). Biến với tên đó được tra cứu giữa kèo bóng đá euro biến được khai báo trước đây trong mộtexec sql khai báo
Phần.
Hàm quan trọng nhất trong thư viện làECPGDO
, chăm sóc thực thi hầu hết kèo bóng đá euro lệnh. Nó có một số lượng khác nhau của kèo bóng đá euro đối số.
kèo bóng đá euro đối số là:
Đây là số dòng của dòng gốc; Chỉ được sử dụng trong thông báo lỗi.
Đây làSQLlệnh sẽ được ban hành. Nó được sửa đổi bởi kèo bóng đá euro biến đầu vào, tức là, kèo bóng đá euro biến không được biết tại thời điểm biên dịch nhưng sẽ được nhập vào lệnh.?
.
Mỗi kèo bóng đá euro đầu vào đều gây ra mười đối số được tạo. (Xem bên dưới.)
ECPGT_EOIT
ANenum
Nói rằng không còn kèo bóng đá euro đầu vào nữa.
Mỗi biến đầu ra đều gây ra mười đối số được tạo. (Xem bên dưới.) kèo bóng đá euro biến này được điền vào chức năng.
ECPGT_EORT
ANenum
Nói rằng không còn kèo bóng đá euro nào nữa.
Đối với mọi biến là kèo bóng đá euro phần củaSQLLệnh, hàm nhận được mười đối số:
Loại dưới dạng biểu tượng đặc biệt.
kèo bóng đá euro con trỏ tới giá trị hoặc con trỏ tới con trỏ.
Kích thước của kèo bóng đá euro nếu đó làchar
hoặcVarchar
.
Số lượng phần tử trong mảng (cho mảng tìm nạp).
phần bù cho phần tử tiếp theo trong mảng (cho mảng tìm nạp).
Loại của kèo bóng đá euro chỉ báo dưới dạng biểu tượng đặc biệt.
kèo bóng đá euro con trỏ tới biến chỉ báo.
0
Số lượng phần tử trong mảng chỉ báo (cho mảng tìm nạp).
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ả kèo bóng đá euro lệnh SQL đều được xử lý theo cách này. Chẳng hạn, một câu lệnh con trỏ mở như:
EXEC SQL MỞcon trỏ
;
không được sao chép vào đầu ra. Thay vào đó, con trỏkhai báo
Lệ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 đá euro ví dụ hoàn chỉnh mô tả đầu ra của bộ tiền xử lý của kèo bóng đá euro 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 SQL BẮT ĐẦU phần khai báo;
được dịch thành:
/ * Được xử lý bởi ECPG (2.6.0) *//
(thụt lề ở đây được thêm vào để đọc và không phải là điều mà bộ tiền xử lý làm.)