Postgresql 9.0.23 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 33.ECPG- nhúngSQLtrong C | Tiếp theo |
Vùng mô tả SQL là một phương pháp tinh vi hơn choChọn, Fetchhoặc Amô tảTuyên bố. Một nhóm tỷ lệ kèo bóng đá mô tả SQL
Một tỷ lệ kèo bóng đá mô tả SQL có tên bao gồm một tiêu đề, mà
Trước khi bạn có thể sử dụng tỷ lệ kèo bóng đá mô tả SQL, bạn cần phải
EXEC SQL phân bổ mô tảđịnh danh;
Định danh đóng vai trò là"Biếncủa tỷ lệ kèo bóng đá mô tả. Khi bạn không cần
EXEC SQL DealLocate Descriptorđịnh danh;
Để sử dụng tỷ lệ kèo bóng đá mô tả, chỉ định nó làm mục tiêu lưu trữthànhmệnh đề, thay vì liệt kê
11926_11991
Nếu tập kết quả trống, tỷ lệ kèo bóng đá mô tả vẫn sẽ
Vì chưa được thực hiện tỷ lệ kèo bóng đá truy vấn đã chuẩn bị,mô tảcâu lệnh có thể được sử tỷ lệ kèo bóng đá để lấy
EXEC SQL BẮT ĐẦU phần khai báo;
Trước Postgresql 9.0,SQLTừ khóa là tùy chọn, vì vậy sử tỷ lệ kèo bóng đáMô tảvàSQLĐược sản xuất các tỷ lệ kèo bóng đá mô tả SQL có tên. Bây giờ nó làSQLTừ khóaPhần.
inmô tảvàFetchCâu lệnh, ThethànhvàSử tỷ lệ kèo bóng đáTừ khóa
Bây giờ làm thế nào để bạn đưa dữ liệu ra khỏi tỷ lệ kèo bóng đá mô tả? Bạn
EXEC SQL Nhận mô tảtên :hostvar=trường;
Hiện tại, chỉ có một trường tiêu đề được xác định:Đếm, cho biết có bao nhiêu
EXEC SQL Nhận mô tảtêngiá trịnum :hostvar=trường;
numcó thể là một số nguyên theo nghĩa đen
Số lượng hàng trong tập kết quả
Mục dữ liệu thực tế (do đó, loại dữ liệu của điều này
?
không được triển khai
Chỉ báo (chỉ ra giá trị null hoặc giá trị
Không được triển khai
Độ dài của mốc thời gian trong ký tự
Tên của cột
không được triển khai
Độ dài của biểu diễn ký tự của mốc thời gian trong
độ chính xác (cho loạiSố)
Độ dài của mốc thời gian trong ký tự
Độ dài của biểu diễn ký tự của mốc thời gian trong
tỷ lệ (cho loạiSố)
Mã số của loại dữ liệu của cột
inthực thi, khai báovàMởCâu lệnh, Hiệu ứng củathànhvàsử tỷ lệ kèo bóng đáTừ khóa là khác nhau. MỘTSử tỷ lệ kèo bóng đá mô tả SQLtênlà cách để vượt qua đầu vào
EXEC SQL SET mô tảtêngiá trịnum trường=:hostvar;
PostgreSQL hỗ trợ lấy thêm một bản ghi trong mộtFetchCâu lệnh và lưu trữ dữ liệu
EXEC SQL bắt đầu khai báo;
tỷ lệ kèo bóng đá mô tả SQLDA là cấu trúc ngôn ngữ C có thể
EXEC SQL bao gồm sqlda.h;
Lưu ý rằngSQLTừ khóa làthànhvàsử tỷ lệ kèo bóng đáTừ khóaPhầnCũng áp tỷ lệ kèo bóng đá ở đây với một bổ sung. Trong amô tảtuyên bốMô tảTừ khóa có thể bị bỏ qua hoàn toàn nếuthànhTừ khóa được sử tỷ lệ kèo bóng đá:
EXEC SQL Mô tả đã chuẩn bị_statement vào mysqlda;
Cấu trúc của sqlda là:
#define có tênatalen 64
Dữ liệu được phân bổ cho cấu trúc SQLDA là thay đổi vì nósqldaCấu trúc là:
Nó chứa "SQLDA"
Nó chứa kích thước của không gian được phân bổ trong
Nó chứa số lượng tham số đầu vào cho aMở, khai báohoặcthực thiCâu lệnh sử tỷ lệ kèo bóng đáSử tỷ lệ kèo bóng đáTừ khóa. Trong trường hợp nó được sử tỷ lệ kèo bóng đáChọn, thực thihoặcFetchCâu lệnh, giá trị của nó giống nhưSQLDcâu lệnh
Nó chứa số lượng trường trong tập kết quả.
Nếu truy vấn trả về nhiều hơn một bản ghi, nhiều bản ghidesc_nextgiữ một con trỏ đến tiếp theo
Đây là mảng của tỷ lệ kèo bóng đá trường trong tập kết quả. tỷ lệ kèo bóng đá
Nó chứa định danh loại của trường.EnuminECPGTYPE.H.
Nó chứa chiều dài nhị phân của trường. Ví dụ.ECPGT_INT.
(char *) sqldataĐiểm
(char *) sqlindĐiểm
struct sqlname sqlnamechứa tên của trường trong một cấu trúc:
struct sqlname
sqlname.lengthChứa độ dài của tên trường.
sqlname.datachứa tên trường thực tế.