SQL для начинающих


         

Что означает информация, возвращаемая параметром SQLSTATE



Что означает информация, возвращаемая параметром SQLSTATE

В элементах CONNECTTON_NAME и ENVIRONMENTJVAME хранятся названия соединения и той среды, с которой было установлено соединение во время выполнения оператора SQL.

Если информация из параметра SQLSTATE относится к работе с таблицей, то эту таблицу определяют элементы CATALOG_NAME, SCHEMA_NAME и TABLE_NAME. Если появление ошибки как-то связано со столбцом таблицы, его имя помещается в элемент COLUMN_NAME. Если нештатная ситуация имеет отношение к курсору, его имя будет находиться в элементе CURSOR_NAME.

Иногда СУБД, чтобы объяснить ситуацию, создает строку текста на каком-либо языке, например английском. Такого рода информация содержится в элементе MESSAGE_TEXT. Его содержимое определяется не стандартом SQL.2003, а реализацией. Если в элементе MESSAGEJTEXT имеется сообщение, его длина в символах записывается в элемент MESSAGE_LENGTH, а длина в октетах — в элемент MESSAGE_OCTET_LENGTH. У сообщения, состоящего из обычных ASCII-символов, значения MESSAGE_LENGTH и MESSAGE_OCTET_LENGTH равны между собой. А если сообщение составлено на китайском, японском или любом другом языке, в котором для выражения символа требуется больше одного октета, то значения MESSAGE_LENGTH и MESSAGE_OCTET_LENGTH будут разными.

Чтобы получить диагностическую информацию из области заголовка, воспользуйтесь выражением:

GET DIAGNOSTICS переменная1 = элемент1 [, переменная2 = елемент2] ... ;

где переменная_n — это параметр или базовая переменная; элемент_n — любое из следующих ключевых слов: NUMBER, MORE, COMMAND_FUNCTION, DYNAMIC_FUNCTION или ROW_COUNT.

А чтобы получить диагностическую информацию из информационной области, используют следующий синтаксис:

GET DIAGNOSTICS EXCEPTION номер-состояния

переменная1 = элемент1 [, переменная2 = элемент2] ... ;

где переменная_n — это параметр или базовая переменная; элемент_n — любое из семнадцати ключевых слов элементов информационной области. Эти ключевые слова приведены в табл. 20.2. И наконец, номер состояния— это значение элемента CONDITION_NUMBER информационной области.



Содержание  Назад  Вперед