Phiên bản được hỗ trợ:hiện tại(173655_378616 / 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
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 một trang chohiện tạiPhiên bản hoặc một trong kèo bóng đá việt nam phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

29.6. Sử dụng kèo bóng đá việt nam máy chủ

inPhần 29.4Bạn đã thấy cách Bạn có thể thực hiện kèo bóng đá việt nam câu lệnh SQL từ một chương trình SQL nhúng. Một số trong số kèo bóng đá việt nam câu lệnh chỉ được sử dụng kèo bóng đá việt nam giá trị cố định và không cung cấp cách chèn kèo bóng đá việt nam giá trị do người dùng cung cấp vào kèo bóng đá việt nam câu lệnh hoặc có Chương trình xử lý kèo bóng đá việt nam giá trị được trả về bởi truy vấn. Những loại đó kèo bóng đá việt nam tuyên bố không thực sự hữu ích trong kèo bóng đá việt nam ứng dụng thực sự. Cái này Phần giải thích chi tiết về cách bạn có thể truyền dữ liệu giữa c của bạn chương trình và kèo bóng đá việt nam câu lệnh SQL nhúng bằng cơ chế đơn giản gọi điệnkèo bóng đá việt nam chủ.

29.6.1. Tổng quan

Truyền dữ liệu giữa chương trình C và các câu lệnh SQL là Đặc biệt đơn giản trong SQL nhúng. Thay vì có lập trình dán dữ liệu vào tuyên bố, đòi hỏi kèo bóng đá việt nam chứng khác nhau, chẳng hạn như trích dẫn đúng giá trị, bạn Có thể chỉ cần viết tên của một biến C vào SQL Tuyên bố, tiền tố bởi một đại tràng. Ví dụ:

EXEC SQL chèn vào kèo bóng đá việt nam giá trị một số (: v1, 'foo',: v2);

Câu lệnh này đề cập đến hai kèo bóng đá việt nam C có tênV1V2và cũng sử kèo bóng đá việt nam một chuỗi SQL thông thường theo nghĩa đen, để minh họa rằng bạn không bị hạn chế sử kèo bóng đá việt nam một loại dữ liệu hoặc loại khác.

Phong cách chèn c biến C trong các câu lệnh SQL Bất cứ nơi nào một biểu thức giá trị được mong đợi trong một câu lệnh SQL. TRONG Môi trường SQL mà chúng tôi gọi các tham chiếu đến kèo bóng đá việt nam Ckèo bóng đá việt nam chủ.

29.6.2. Khai báo phần

Để chuyển dữ liệu từ chương trình sang cơ sở dữ liệu, ví dụ dưới dạng các tham số trong truy vấn hoặc để truyền dữ liệu từ cơ sở dữ liệu Quay lại chương trình, kèo bóng đá việt nam C được dự định chứa dữ liệu này cần được khai báo đặc biệt các phần, vì vậy bộ tiền xử lý SQL nhúng được biết đến họ.

Phần này bắt đầu bằng

EXEC SQL BẮT ĐẦU TUYỆT VỜI;

và kết thúc bằng

EXEC SQL End Declare phần;

Giữa kèo bóng đá việt nam dòng đó, phải có biến C bình thường Tuyên bố, chẳng hạn như

int x;
char foo [16], thanh [16];

Bạn có thể có nhiều phần khai báo trong một chương trình như bạn giống.

Các khai báo cũng được lặp lại với tệp đầu ra là kèo bóng đá việt nam C bình thường, vì vậy không cần phải khai báo chúng một lần nữa. kèo bóng đá việt nam không được sử dụng trong các lệnh SQL có thể được khai báo bình thường bên ngoài các phần đặc biệt này.

Định nghĩa về cấu trúc hoặc liên kết cũng phải được liệt kê Bên trong Akhai báoPhần. Nếu không thì Bộ tiền xử lý không thể xử lý kèo bóng đá việt nam loại này vì nó không Biết định nghĩa.

Loại đặc biệtVarcharđược chuyển đổi vào một cái tênstructĐối với mỗi kèo bóng đá việt nam. MỘT Tuyên bố như

Varchar var [180];

được chuyển đổi thành

struct varchar_var int len; Char Arr [180];  var;

13985_14058Varchar.

29.6.3.Chọn vàotìm nạp vào

Bây giờ bạn sẽ có thể truyền dữ liệu được tạo bởi lập trình vào một lệnh SQL. Nhưng làm thế nào để bạn lấy lại Kết quả của một truy vấn? Với mục đích đó, SQL nhúng cung cấp kèo bóng đá việt nam thể đặc biệt của các lệnh thông thườngChọnFetch. Những cái này kèo bóng đá việt nam lệnh có một đặc biệtthànhmệnh đề chỉ định kèo bóng đá việt nam máy chủ nào các giá trị được truy xuất được lưu trữ trong.

Đây là một ví dụ:

/*
 * Giả sử bảng này:
 * Tạo Bảng Test1 (A Int, B Varchar (50));
 */

EXEC SQL bắt đầu phần khai báo;
int v1;
Varchar v2;
EXEC SQL END TUYÊN BỐ TUYÊN BỐ;

 ...

EXEC SQL Chọn a, b vào: v1,: v2 từ kiểm tra;

SOthành15072_15126từmệnh đề. Số lượng phần tử trong danh sách chọn và danh sách sauthành(còn được gọi là danh sách đích) Phải bằng.

Đây là một ví dụ sử kèo bóng đá việt nam lệnhFetch:

EXEC SQL bắt đầu khai báo;
int v1;
Varchar v2;
EXEC SQL END TUYÊN BỐ TUYÊN BỐ;

 ...

EXEC SQL khai báo con trỏ foo cho chọn a, b từ thử nghiệm;

 ...

LÀM 
    ...
    EXEC SQL tìm nạp tiếp theo từ foo thành: v1,: v2;
    ...
 trong khi (...);

ở đâythànhmệnh đề xuất hiện sau tất cả kèo bóng đá việt nam mệnh đề bình thường.

15783_15996

29.6.4. Chỉ báo

kèo bóng đá việt nam ví dụ trên không xử lý kèo bóng đá việt nam giá trị null. Trong thực tế, kèo bóng đá việt nam ví dụ truy xuất sẽ gây ra lỗi nếu họ tìm nạp một null Giá trị từ cơ sở dữ liệu. Để có thể chuyển kèo bóng đá việt nam giá trị null cho cơ sở dữ liệu hoặc truy xuất kèo bóng đá việt nam giá trị null từ cơ sở dữ liệu, bạn cần nối một đặc điểm kỹ thuật của máy chủ thứ hai vào từng máy chủ Biến chứa dữ liệu. Biến máy chủ thứ hai này là được gọi làChỉ báovà chứa a cờ cho biết liệu dữ liệu có phải là null hay không, trong trường hợp đó Giá trị của biến máy chủ thực bị bỏ qua. Đây là một ví dụ Điều đó xử lý đúng kèo bóng đá việt nam giá trị null một cách chính xác:

EXEC SQL bắt đầu khai báo;
Varchar val;
int val_ind;
EXEC SQL END TUYÊN BỐ TUYÊN BỐ:

 ...

EXEC SQL Chọn B vào: val: val_ind từ test1;

kèo bóng đá việt nam chỉ báoVal_indWill bằng không nếu giá trị không phải là null và nó sẽ âm nếu giá trị là null.

Chỉ báo có chức năng khác: Nếu giá trị chỉ báo là tích cực, nó có nghĩa là giá trị không phải là vô giá trị, nhưng nó là cắt ngắn khi nó được lưu trữ trong kèo bóng đá việt nam chủ.