Video: SQL-00: Tạo mối quan hệ giữa các bảng trong SQLServer 201X 2025
Khi bạn sử dụng SQLSTATE để xác định lỗi SQL, đôi khi bạn khó có thể quyết định phải làm gì với thông tin đó. CONNECTION_NAME và ENVIRONMENT_NAME xác định kết nối và môi trường mà bạn đã kết nối tại thời điểm lệnh SQL được thực thi.
Nếu báo cáo đề cập đến hoạt động của bảng, CATALOG_NAME, SCHEMA_NAME và TABLE_NAME xác định bảng. COLUMN_NAME xác định cột bên trong bảng gây ra báo cáo được thực hiện. Nếu tình huống liên quan đến con trỏ, CURSOR_NAME sẽ đưa ra tên của nó.
Đôi khi một DBMS tạo ra một chuỗi văn bản ngôn ngữ tự nhiên để giải thích một điều kiện. Mục MESSAGE_TEXT dành cho loại thông tin này. Nội dung của mặt hàng này phụ thuộc vào việc thực hiện; tiêu chuẩn SQL không rõ ràng xác định chúng. Nếu bạn có một cái gì đó trong MESSAGE_TEXT, chiều dài của nó bằng ký tự được ghi lại bằng MESSAGE_LENGTH, và chiều dài của nó bằng octet được ghi lại trong MESSAGE_OCTET_LENGTH.
Nếu tin nhắn có ký tự ASCII thông thường, MESSAGE_LENGTH bằng MESSAGE_OCTET_LENGTH. Mặt khác, nếu tin nhắn bằng chữ kanji hoặc một số ngôn ngữ khác có các ký tự yêu cầu nhiều hơn một octet để diễn đạt, MESSAGE_LENGTH khác với MESSAGE_OCTET_LENGTH.
Để lấy thông tin chẩn đoán từ tiêu đề khu vực chẩn đoán, sử dụng như sau:
GET DIAGNOSTICS status1 = item1 [status2 = item2] …;
statusn là một biến hoặc tham số host; itemn có thể là bất kỳ từ khoá NUMBER, MORE, COMMAND_FUNCTION, DYNAMIC_FUNCTION hoặc ROW_COUNT.
GET DIAGNOSTICS EXCEPTION condition-number status1 = item1 [status2 = item2] …;Một lần nữa statusn là một biến host hoặc tham số, và itemn là bất kỳ 28 từ khóa nào cho các mục chi tiết được liệt kê trong Bảng 21-2. Số điều kiện là (bất ngờ!) Mục CONDITION_NUMBER trong khu vực chi tiết.