Phần này dành kèo bóng đá c1 những người muốn phát triểnECPGGiao diện. Nó mô tả cách mọi thứ công việc. Tham vọng là làm kèo bóng đá c1 phần này chứa những thứ kèo bóng đá c1 những thứ đó muốn có một cái nhìn bên trong và phần về cách sử dụng nó nên đủ kèo bóng đá c1 tất cả các câu hỏi bình thường. Vì vậy, hãy đọc cái này trước Nhìn vào phần bên trong củaECPG. Nếu bạn không quan tâm đến cách nó thực sự hoạt động, bỏ qua phần này.
Phiên bản này Người tiền xử lý có kèo bóng đá c1 số lỗ hổng:
TO_DATE et al. Không tồn tại. Nhưng sau đóPostgresCó kèo bóng đá c1 số thói quen chuyển đổi tốt chính nó. Vì vậy, có lẽ bạn sẽ không bỏ lỡ những thứ này.
Cấu trúc và công đoàn phải được xác định trong khai báo phần.
Các câu sau đây không được thực hiện kèo bóng đá c1 đến nay:
Thông báo lỗi kèo bóng đá c1 "Không có dữ liệu" trong Chèn SQL Exec Từ câu lệnh phải là 100.
SQLWARN [6] phải là 'W' nếu giá trị chính xác hoặc tỷ lệ được chỉ định trong câu lệnh mô tả tập hợp sẽ bị bỏ qua.
Bốn dòng đầu tiên được ghi vào đầu ra là không đổi Bổ sung bởi ECPG. Đây là hai bình luận và hai ý kiến bao gồm các dòng cần thiết kèo bóng đá c1 giao diện kèo bóng đá c1 thư viện.
Sau đó, bộ tiền xử lý chỉ hoạt động trong kèo bóng đá c1 lần chỉ, đọc đầu vào Tệp và ghi vào đầu ra khi nó đi cùng. Thông thường nó chỉ lặp lại mọi thứ với đầu ra mà không cần nhìn thêm nó.
Khi nói đếnEXEC kèo bóng đá c1Câu lệnh Nó can thiệp và thay đổi chúng tùy thuộc vào những gì nó là. TheEXEC kèo bóng đá c1Câu lệnh có thể là kèo bóng đá c1 trong những điều này:
Khai báo các phần bắt đầu bằng
EXEC kèo bóng đá c1 BẮT ĐẦU phần khai báo;và kèo bóng đá c1 thúc bằng
phần khai báo cuối kèo bóng đá c1;Trong phần chỉ được phép khai báo kèo bóng đá c1. Mọi Khai báo kèo bóng đá c1 trong phần này cũng được nhập vào danh sách các kèo bóng đá c1 được lập chỉ mục trên tên của chúng cùng với các kèo bóng đá c1 tương ứng kiểu.
Đặc biệt là định nghĩa về cấu trúc hoặc sự kết hợp phải được liệt kê bên trong kèo bóng đá c1 phần khai báo. Nếu không thìECPGKhông thể xử lý các loại này Vì nó đơn giản là không biết định nghĩa.
Tuyên bố được lặp lại với tệp để tạo kèo bóng đá c1 A C-bình thường cũng kèo bóng đá c1.
Các loại đặc biệt Varchar và Varchar2 được chuyển đổi thành a được đặt tên cấu trúc kèo bóng đá c1 mọi biến. Một tuyên bố như:
Varchar var [180];được chuyển đổi thành
struct varchar_var int len; Char Arr [180]; var;
kèo bóng đá c1 câu lệnh bao gồm trông giống như:
EXEC kèo bóng đá c1 bao gồm tên tệp;Không phải điều này không giống như
#include <fileName.h
Thay vào đó, tệp được chỉ định được phân tích cú phápECPGchính nó. Vì vậy, nội dung của Tệp được chỉ định được bao gồm trong mã C kết quả. Cách này Bạn có thể chỉ định các lệnh EXEC kèo bóng đá c1 trong một bao gồm tài liệu.
kèo bóng đá c1 câu lệnh kết nối trông giống như:
EXEC kèo bóng đá c1 Kết nối vớiMục tiêu kèo bóng đá c1 nối;Nó tạo kèo bóng đá c1 nối với cơ sở dữ liệu được chỉ định.
TheMục tiêu kèo bóng đá c1 nốicó thể được chỉ định theo các cách sau:
Ngoài ra còn có những cách khác nhau để chỉ định tên người dùng:
Cuối cùng, người dùng và mật khẩu. Mỗi người có thể là kèo bóng đá c1 hằng số văn bản, kèo bóng đá c1 biến ký tự hoặc chuỗi chararcter.
kèo bóng đá c1 câu lệnh ngắt kết nối trông loke:
exec kèo bóng đá c1 Ngắt kết nối [Mục tiêu kèo bóng đá c1 nối];Nó đóng kèo bóng đá c1 nối với cơ sở dữ liệu được chỉ định.
TheMục tiêu kèo bóng đá c1 nốicó thể được chỉ định theo các cách sau:
kèo bóng đá c1 câu lệnh con trỏ mở trông giống như:
EXEC kèo bóng đá c1 MỞcon trỏ;và bị bỏ qua và không được sao chép từ đầu ra.
kèo bóng đá c1 câu lệnh cam kết trông giống như
exec kèo bóng đá c1 cam kết;và được dịch trên đầu ra thành
ECPGCommit (__ Line__);
kèo bóng đá c1 câu lệnh rollback trông giống như
rollback kèo bóng đá c1 EXEC;và được dịch trên đầu ra thành
ECPGrollback (__ Line__);
kháckèo bóng đá c1Câu lệnh khác các câu lệnh bắt đầu bằngEXEC kèo bóng đá c1và kèo bóng đá c1 thúc bằng;12487_12533kèo bóng đá c1Câu lệnh và được phân tích cú pháp để thay thế kèo bóng đá c1.
Thay thế biến xảy ra khi biểu tượng bắt đầu bằng kèo bóng đá c1 Đại tá (:). Sau đó một biến với điều đó Tên được tìm kiếm trong số các biến trước đây được khai báo trong phần khai báo và tùy thuộc vào biến là kèo bóng đá c1 đầu vào hoặc đầu ra, con trỏ kèo bóng đá c1 các biến được ghi vào đầu ra để kèo bóng đá c1 phép truy cập theo chức năng.
Đối với mọi biến là kèo bóng đá c1 phần củakèo bóng đá c1Yêu cầu chức năng nhận được mười cái nữa Đối số:
Loại dưới dạng biểu tượng đặc biệt. |
kèo bóng đá c1 con trỏ tới giá trị hoặc con trỏ tới con trỏ. |
Kích thước của kèo bóng đá c1 nếu đó là char hoặc varchar. |
Số lượng phần tử trong mảng (kèo bóng đá c1 mảng tìm nạp). |
phần bù kèo bóng đá c1 phần tử tiếp theo trong mảng (kèo bóng đá c1 mảng tìm nạp) |
Loại kèo bóng đá c1 chỉ báo là đặc biệt biểu tượng. |
kèo bóng đá c1 con trỏ tới giá trị của biến chỉ báo hoặc a Con trỏ tới con trỏ của biến chỉ báo. |
0. |
Số lượng phần tử trong mảng chỉ báo (kèo bóng đá c1 mảng tìm nạp). |
phần bù kèo bóng đá c1 phần tử tiếp theo trong mảng chỉ báo (kèo bóng đá c1 mảng tìm nạp) |
Đây là kèo bóng đá c1 ví dụ hoàn chỉnh mô tả đầu ra của Bộ tiền xử lý của kèo bóng đá c1 tệp foo.pgc:
EXEC kèo bóng đá c1 bắt đầu phần khai báo; chỉ mục int; kết quả int; EXEC kèo bóng đá c1 END TUYÊN BỐ TUYÊN BỐ; ... EXEC kèo bóng đá c1 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 đá c1 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 đá c1 kèo bóng đá c1 *// ... 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"(Giới thiệu trong hướng dẫn này được thêm vào để đọc và không phải là kèo bóng đá c1 cái gì đó mà người tiền xử lý có thể làm.)
Hàm quan trọng nhất trong thư viện làECPGDOHàm. Nó cần kèo bóng đá c1 lượng khác nhau của lập luận. Hy vọng rằng chúng tôi sẽ không gặp phải các máy móc với giới hạn Lượng biến có thể được chấp nhận bởi hàm vararg. Điều này có thể dễ dàng thêm tới 50 đối số.
Các đối số là:
Đây là số dòng kèo bóng đá c1 dòng gốc được sử dụng trong lỗi Chỉ tin nhắn.
Đây làkèo bóng đá c1Yêu cầu đó là được ban hành. Yêu cầu này được sửa đổi bởi các kèo bóng đá c1 đầu vào, tức là các kèo bóng đá c1 mà không được biết đến tại thời điểm biên dịch nhưng là được nhập vào yêu cầu. Nơi các kèo bóng đá c1 sẽ đi Chuỗi chứa ";".
Như được mô tả trong phần về bộ tiền xử lý mỗi kèo bóng đá c1 đầu vào có mười đối số.
kèo bóng đá c1 enum nói rằng không còn biến đầu vào.
như được mô tả trong phần về bộ tiền xử lý mỗi kèo bóng đá c1 đầu vào có mười đối số. Các kèo bóng đá c1 này được lấp đầy bởi chức năng.
enum nói rằng không còn kèo bóng đá c1 nào nữa.
Tất cảkèo bóng đá c1Câu lệnh là thực hiện trong một giao dịch trừ khi bạn đưa ra một giao dịch cam kết. Để có được sự chuyển giao tự động này, câu lệnh đầu tiên hoặc câu nói đầu tiên Sau khi tuyên bố sau khi cam kết hoặc rollback luôn bắt đầu giao dịch. Để vô hiệu hóa tính năng này kèo bóng đá c1 mỗi mặc định, hãy sử dụng '-t' tùy chọn trên dòng lệnh
Được hoàn thành: Các mục mô tả các mục khác.