Postgresql Tài liệu 8.0.26 | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 29.ECPG- nhúngkèo bóng đá việt namtrong C | Chuyển tiếp nhanh | Tiếp theo |
Phần này mô tả cách bạn có thể xử lý đặc biệt Điều kiện và cảnh báo trong kèo bóng đá việt nam chương trình SQL nhúng. Có kèo bóng đá việt nam số cơ sở không có kết luận cho việc này.
Một phương pháp đơn giản để bắt kèo bóng đá việt nam và cảnh báo là đặt một hành động cụ thể sẽ được thực thi bất cứ khi nào một điều kiện cụ thể xảy ra. Nói chung:
EXEC kèo bóng đá việt nam bất cứ khi nàođiều kiện Hành động;
điều kiệncó thể là kèo bóng đá việt nam trong những tiếp theo:
Hành động được chỉ định được gọi bất cứ khi nào kèo bóng đá việt nam xảy ra trong quá trình thực hiện câu lệnh SQL.
Hành động được chỉ định được gọi bất cứ khi nào cảnh báo xảy ra trong quá trình thực hiện câu lệnh kèo bóng đá việt nam.
Hành động được chỉ định được gọi bất cứ khi nào một SQL Tuyên bố lấy hoặc ảnh hưởng đến các hàng không. (Điều kiện này không phải là một kèo bóng đá việt nam, nhưng bạn có thể quan tâm đến việc xử lý nó đặc biệt.)
Hành độngcó thể là kèo bóng đá việt nam trong những tiếp theo:
Điều này có nghĩa là điều kiện bị bỏ qua. Đây là mặc định.
Nhảy vào nhãn được chỉ định (sử dụng CGotocâu lệnh).
12506_12669
gọiThoát (1), sẽ chấm dứt chương trình.
Thực hiện câu lệnh CBreak. Điều này chỉ nên được sử dụng trong các vòng lặp hoặcSwitchcâu lệnh.
Gọi các hàm C được chỉ định với quy định Đối số.
Tiêu chuẩn kèo bóng đá việt nam chỉ cung cấp cho các hành độngTiếp tụcvàGoto13648_13660đi đến).
Đây là một ví dụ mà bạn có thể muốn sử dụng một cách đơn giản chương trình. Nó in một tin nhắn đơn giản khi cảnh báo xảy ra và hủy bỏ chương trình khi xảy ra kèo bóng đá việt nam.
EXEC kèo bóng đá việt nam Bất cứ khi nào sqlwarning sqlPrint; Exec kèo bóng đá việt nam bất cứ khi nào sqlerror dừng;
Câu lệnhEXEC kèo bóng đá việt nam bất cứ khi nàoIS một chỉ thị của bộ tiền xử lý SQL, không phải là một tuyên bố C. Các Các hành động kèo bóng đá việt nam hoặc cảnh báo mà nó đặt ra áp dụng cho tất cả các SQL được nhúng các tuyên bố xuất hiện dưới điểm mà người xử lý là đặt, trừ khi một hành động khác được đặt cho cùng một điều kiện Giữa lần đầu tiênEXEC kèo bóng đá việt nam bất cứ khi nàovà câu lệnh kèo bóng đá việt nam gây ra điều kiện, bất kể Dòng kiểm soát trong chương trình C. Vì vậy, cả hai cả hai đều không Các trích đoạn chương trình sau C sẽ có hiệu ứng mong muốn.
/* * SAI */ int main (int argc, char *argv []) ... if (verbose) Exec kèo bóng đá việt nam bất cứ khi nào sqlwarning sqlprint; ... EXEC kèo bóng đá việt nam CHỌN ...; ...
/* * SAI */ int main (int argc, char *argv []) ... set_error_handler (); ... EXEC kèo bóng đá việt nam CHỌN ...; ... tĩnh mạch set_error_handler (void) EXEC kèo bóng đá việt nam Bất cứ khi nào sqlerror dừng lại;
15159_15267SQLCAcó cấu trúc sau:
Cấu trúc char sqlcaid [8]; SQLABC dài; SQLCode dài; cấu trúc int sqlerrml; char sqlerrmc [70]; sqlerrm; char sqlerrp [8]; sqlerrd dài [6]; char sqlwarn [8]; char sqlstate [5]; sqlca;
(Trong kèo bóng đá việt nam chương trình đa luồng, mọi luồng tự động được bản sao của riêng nó củaSQLCA. Điều này hoạt động Tương tự như việc xử lý biến C toàn cầu C tiêu chuẩnerrno.)
SQLCABao gồm cả hai cảnh báo và kèo bóng đá việt nam. Nếu nhiều cảnh báo hoặc kèo bóng đá việt nam xảy ra trong thực hiện một câu lệnh, sau đóSQLCA16045_16101
Nếu không xảy ra kèo bóng đá việt nam trong lần cuốikèo bóng đá việt namcâu lệnh,sqlca.sqlcodesẽ là 0 vàSQLCA.SQLSTATEsẽ là"00000". Nếu cảnh báo hoặc kèo bóng đá việt nam xảy ra, thìsqlca.sqlcodesẽ âm vàSQLCA.SQLSTATEsẽ khác với"00000". kèo bóng đá việt nam tích cựcsqlca.sqlcodeCho biết điều kiện vô hại, chẳng hạn như truy vấn cuối cùng đã trả về hàng không.SQLCodevàSQLSTATElà hai sơ đồ mã kèo bóng đá việt nam khác nhau; Chi tiết xuất hiện bên dưới.
Nếu câu lệnh kèo bóng đá việt nam cuối cùng thành công, thìsqlca.sqlerrd [1]chứa oid của Hàng được xử lý, nếu có vàsqlca.sqlerrd [2]chứa số lượng Các hàng được xử lý hoặc trả lại, nếu có thể áp dụng cho lệnh.
Trong trường hợp có kèo bóng đá việt nam hoặc cảnh báo,sqlca.sqlerrm.sqlerrmcsẽ chứa một chuỗi
mô tả kèo bóng đá việt nam. Trườngsqlca.sqlerrm.sqlerrmlChứa độ dài của
thông báo kèo bóng đá việt nam được lưu trữ trongsqlca.sqlerrm.sqlerrmc(kết quả củastrlen ()
, không thực sự thú vị
cho kèo bóng đá việt nam lập trình viên C). Lưu ý rằng kèo bóng đá việt nam số tin nhắn quá dài để
phù hợp với kích thước cố địnhSQLERRMCmảng;
Họ sẽ bị cắt ngắn.
Trong trường hợp cảnh báo,sqlca.sqlwarn [2]được đặt thànhW. (Trong tất cả các trường hợp khác, nó được đặt thành kèo bóng đá việt nam cái gì đó khác vớiW.) Nếusqlca.sqlwarn [1]được đặt thànhW, thì kèo bóng đá việt nam giá trị đã bị cắt ngắn khi nó được lưu trữ trong kèo bóng đá việt nam biến máy chủ.sqlca.sqlwarn [0]được đặt thànhWNếu bất kỳ ai khác Các yếu tố được đặt để chỉ ra cảnh báo.
Các trườngSQLCAID, SQLCABC, SQLERRPvà các yếu tố còn lại củaSQLERRDvàSQLWARNHiện không chứa hữu ích thông tin.
Cấu trúcSQLCAkhông được xác định Trong tiêu chuẩn SQL, nhưng được triển khai trong kèo bóng đá việt nam số SQL khác Hệ thống cơ sở dữ liệu. Các định nghĩa tương tự như cốt lõi, nhưng Nếu bạn muốn viết các ứng dụng di động, thì bạn nên Điều tra các triển khai khác nhau kèo bóng đá việt nam cách cẩn thận.
Các trườngSQLCA.SQLSTATEvàsqlca.sqlcodelà hai khác nhau Các chương trình cung cấp mã kèo bóng đá việt nam. Cả hai đều được chỉ định trong SQL tiêu chuẩn, nhưngSQLCodeđã được đánh dấu phản đối trong phiên bản năm 1992 của tiêu chuẩn và đã được Thả trong phiên bản 1999. Do đó, các ứng dụng mới là được khuyến khích mạnh mẽ để sử dụngSQLSTATE.
SQLSTATE19556_19717sqlstateCó sơ đồ phân cấp: hai ký tự đầu tiên chỉ ra lớp chung của điều kiện, ba ký tự cuối cùng chỉ ra kèo bóng đá việt nam lớp con của tình trạng chung. Trạng thái thành công được biểu thị bằng mã00000. ThesqlstateMã dành cho hầu hết các phần được xác định trong Tiêu chuẩn kèo bóng đá việt nam. ThePostgreSQLMáy chủ tự nhiên hỗ trợSQLSTATEMã kèo bóng đá việt nam; Do đó cao Mức độ nhất quán có thể đạt được bằng cách sử dụng mã kèo bóng đá việt nam này Sơ đồ trong tất cả các ứng dụng. Để biết thêm thông tin, xemPhụ lục A.
SQLCode, Mã kèo bóng đá việt nam không dùng nữa Sơ đồ, là một số nguyên đơn giản. Giá trị 0 biểu thị thành công, một Giá trị tích cực cho thấy thành công với thông tin bổ sung, một Giá trị âm biểu thị một kèo bóng đá việt nam. Chỉ tiêu chuẩn SQL xác định giá trị dương +100, chỉ ra rằng cái cuối cùng Lệnh đã trả về hoặc bị ảnh hưởng các hàng không và không có cụ thể giá trị âm. Do đó, kế hoạch này chỉ có thể đạt được Tính di động và không có gán mã phân cấp. Trong lịch sử, bộ xử lý SQL nhúng choPostgreSQLđã gán kèo bóng đá việt nam số cụ thể21124_21133Giá trị cho việc sử dụng của nó, đó là được liệt kê dưới đây với giá trị số của họ và tên biểu tượng của chúng. Hãy nhớ rằng những thứ này không thể di động cho các kèo bóng đá việt nam khác thực hiện. Để đơn giản hóa việc chuyển các ứng dụng sangSQLSTATESơ đồ, tương ứngSQLSTATEcũng được liệt kê. Có, Tuy nhiên, không có bản đồ kèo bóng đá việt nam-kèo bóng đá việt nam hoặc kèo bóng đá việt nam-nhiều giữa hai các kế hoạch (thực sự là nhiều người nhiều), vì vậy bạn nên tham khảo ý kiến toàn cầuSQLSTATELiệt kê trongPhụ lục ATrong mỗi trường hợp.
Đây là những người được gánSQLCodeGiá trị:
Cho biết bộ nhớ ảo của bạn đã cạn kiệt. (Sqlstate ye001)
Cho biết bộ tiền xử lý đã tạo ra kèo bóng đá việt nam cái gì đó rằng thư viện không biết về. Có lẽ bạn là chạy các phiên bản không tương thích của bộ tiền xử lý và thư viện. (Sqlstate ye002)
Điều này có nghĩa là lệnh được chỉ định thêm máy chủ các biến hơn lệnh dự kiến. (SQLSTATE 07001 hoặc 07002)
Điều này có nghĩa là lệnh được chỉ định ít máy chủ các biến hơn lệnh dự kiến. (SQLSTATE 07001 hoặc 07002)
Điều này có nghĩa là kèo bóng đá việt nam truy vấn đã trả về nhiều hàng nhưng Tuyên bố chỉ được chuẩn bị để lưu trữ kèo bóng đá việt nam hàng kết quả (cho Ví dụ, vì các biến được chỉ định không phải là mảng). (SQLSTATE 21000)
Biến máy chủ thuộc loạiintvà mốc thời gian trong cơ sở dữ liệu thuộc loại khác và
chứa kèo bóng đá việt nam giá trị không thể được hiểu làint. Thư viện sử dụngstrtol ()
Đối với chuyển đổi này. (SQLSTATE
42804)
Biến máy chủ thuộc loạiKhông dấu
intvà mốc dữ liệu trong cơ sở dữ liệu là kèo bóng đá việt nam sự khác biệt
loại và chứa kèo bóng đá việt nam giá trị không thể được hiểu là
MỘTunsign int. Thư viện sử dụngstrtoul ()
Đối với điều này
chuyển đổi. (SQLSTATE 42804)
Biến máy chủ thuộc loạifloat24309_24434float. Thư viện
Sử dụngstrtod ()
Đối với điều này
chuyển đổi. (SQLSTATE 42804)
Điều này có nghĩa là biến máy chủ thuộc loạiboolvà mốc dữ liệu trong cơ sở dữ liệu không phải là'T'Nor'F'. (SQLSTATE 42804)
Câu lệnh được gửi đếnPostgreSQLMáy chủ trống. (Cái này Thông thường không thể xảy ra trong một chương trình SQL nhúng, vì vậy nó có thể trỏ đến kèo bóng đá việt nam nội bộ.) (SQLSTATE YE002)
Giá trị null đã được trả về và không có chỉ báo null Biến đã được cung cấp. (SQLSTATE 22002)
kèo bóng đá việt nam biến thông thường đã được sử dụng ở kèo bóng đá việt nam nơi yêu cầu kèo bóng đá việt nam mảng. (SQLSTATE 42804)
Cơ sở dữ liệu đã trả về kèo bóng đá việt nam biến thông thường ở kèo bóng đá việt nam nơi Điều đó đòi hỏi giá trị mảng. (SQLSTATE 42804)
Chương trình đã cố gắng truy cập kèo bóng đá việt nam kết nối không hiện hữu. (SQLSTATE 08003)
Chương trình đã cố gắng truy cập một kết nối tồn tại nhưng không mở. (Đây là một kèo bóng đá việt nam nội bộ.) (Sqlstate ye002)
Tuyên bố bạn đang cố gắng sử dụng chưa được chuẩn bị. (SQLSTATE 26000)
Không tìm thấy mô tả được chỉ định. Tuyên bố Bạn đang cố gắng sử dụng đã không được chuẩn bị. (SQLSTATE 33000)
Chỉ số mô tả được chỉ định nằm ngoài phạm vi. (SQLSTATE 07009)
Một mục mô tả không hợp lệ đã được yêu cầu. (Đây là một kèo bóng đá việt nam nội bộ.) (SQLSTATE YE002)
Trong quá trình thực hiện kèo bóng đá việt nam câu lệnh động, Cơ sở dữ liệu đã trả về kèo bóng đá việt nam giá trị số và biến máy chủ không phải là số. (SQLSTATE 07006)
Trong quá trình thực hiện kèo bóng đá việt nam câu lệnh động, Cơ sở dữ liệu đã trả về kèo bóng đá việt nam giá trị không phải là số và máy chủ Biến là số. (SQLSTATE 07006)
Một số kèo bóng đá việt nam gây ra bởiPostgreSQLMáy chủ. Thông điệp chứa thông báo kèo bóng đá việt nam từPostgreSQLMáy chủ.
ThePostgreSQL28254_28368
Kết nối cố gắng với cơ sở dữ liệu không thành công. (SQLSTATE 08001)
28665_28841