Phiên bản được hỗ trợ:hiện tại(17) /16 / 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
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 kèo bóng đá cúp c2 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

42.8. kèo bóng đá cúp c2

Mã TCL trong hoặc được gọi từ chức năng PL/TCL có thể gây ra kèo bóng đá cúp c2, bằng cách thực hiện một số hoạt động không hợp lệ hoặc bằng cách tạo kèo bóng đá cúp c2 bằng cách sử dụngERRORlệnh hoặc kèo bóng đá cúp c2'sELOGlệnh. Những kèo bóng đá cúp c2 như vậy có thể bị bắt trong TCL bằng TCLCatchlệnh. Nếu chúng không bị bắt nhưng được phép tuyên truyền đến cấp cao nhất thực thi chức năng PL/TCL, chúng sẽ biến thành kèo bóng đá cúp c2 cơ sở dữ liệu.

Ngược lại, các kèo bóng đá cúp c2 cơ sở dữ liệu xảy ra trong PL/TCL'sSPI_EXEC, spi_prepareSPI_EXECPCác lệnh được báo cáo là kèo bóng đá cúp c2 TCL, vì vậy chúng có thể bắt được bởi TCL'sCatchLệnh. Một lần nữa, nếu chúng tuyên truyền lên cấp cao nhất mà không bị bắt, họ sẽ quay lại thành kèo bóng đá cúp c2 cơ sở dữ liệu.

TCL cung cấpErrorCodeBiến có thể đại diện cho thông tin bổ sung về một kèo bóng đá cúp c2 một biểu mẫu dễ dàng cho các chương trình TCL để giải thích. Nội dung ở định dạng danh sách TCL và từ đầu tiên xác định hệ thống con hoặc thư viện báo cáo lỗi; Ngoài ra, các nội dung được để lại cho hệ thống con hoặc thư viện riêng lẻ. Đối với các lỗi cơ sở dữ liệu được báo cáo bởi các lệnh PL/TCL, từ đầu tiên làPostgres, Từ thứ hai là số phiên bản Postgres và các từ bổ sung là các cặp tên/giá trị trường cung cấp thông tin chi tiết về kèo bóng đá cúp c2. Các trườngSQLSTATE, điều kiệntin nhắnluôn được cung cấp (hai lần đầu tiên đại diện cho mã kèo bóng đá cúp c2 và tên điều kiện như trongPhụ lục A). Các trường có thể có mặt bao gồmchi tiết, Gợi ý, bối cảnh, lược đồ, Bảng, cột, Kiểu dữ liệu, ràng buộc, câu lệnh, con trỏ_poseition, FileName, Linenofuncname.

Một cách thuận tiện để làm việc với kèo bóng đá cúp c2'sErrorCodeThông tin là tải nó vào một mảng, để tên trường trở thành các chỉ số mảng. Mã để làm điều đó có thể trông giống như

Nếu [bắt spi_exec $ sql_command] 
    if [lindex $ :: errorCode 0] == "postgres" 
        etray set orrorArray $ :: ErrorCode
        Nếu $ errorArray (điều kiện) == "unefined_table" 
            # đối phó với bàn bị thiếu
         khác 
            # đối phó với một số loại kèo bóng đá cúp c2 SQL khác

(Các dấu chấm đôi chỉ định rõ ràng rằngErrorCodelà một biến toàn cầu.)