Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Мониторинг курсоров






Для контроля за состоянием курсора в T-SQL имеются две глобальные переменные @@CURSOR_ROWS и @@FETCH_STATUS и функция CURSOR_STATUS. Переменная @@CURSOR_ROWS содержит количество строк во множестве последнего открытого курсора и другую информацию:

Значение @@CURSOR_ROWS Описание
n Количество строк в курсоре равно n.
-1 Курсор — динамический, количество строк может варьироваться
  Либо курсор не имеет строк, либо он закрыт.
-n Количество строк в курсоре равно n, курсор заполнен не полностью.

Переменная @@FETCH_STATUS содержит информацию о выполнении последнего оператора FETCH:

Значение @@FETCH_STATUS Описание
  Оператор FETCHвыполнен успешно.
-1 Оператор FETCHвыполнен не успешно.
-2 Строка для извлечения отсутствует.

Функция CURSOR_STATUS имеет следующий синтаксис:

СИНТАКСИС

CURSOR_STATUS(
{ ' local ', 'cursor_name ' }
| { ' global ', 'cursor_name ' }
| { ' variable ', 'cursor_variable ' })

Здесь 'local' ('global') определяет константу, которая указывает, что источник курсора — локальное (глобальное) имя курсора; 'cursor_name' — идентификатор курсора; 'cursor_variable' — идентификатор курсорной переменной; 'variable'— определяет константу, которая указывает, что источник курсора — локальная переменная.

Возвращаемые значения функцией CURSOR_STATUS представлены в следующей таблице:

Возвращаемое значение Описание для 'cursor_name' Описание для 'cursor_variable'
  Результирующий набор содержит, по крайней мере, одну строку и: для insensitive- и keyset-курсоров результирующий набор содержит, по крайней мере, одну строку; для dynamic-курсоров результирующий набор может иметь 0, 1 или более строк. Назначенный этой переменной курсор открыт и: для insensitive- и keyset-курсоров результирующий набор содержит, по крайней мере, одну строку; для dynamic-курсоров результирующий набор может иметь 0, 1 или более строк.
  Результирующий набор курсора пуст. Динамический курсор никогда не возвращает это значение. Назначенный этой переменной курсор открыт, но результирующий набор пуст. Динамический курсор никогда не возвращает это значение.
-1 Курсор закрыт. Курсор, назначенный этой переменной, закрыт.
-2 Не применяется. Возможные случаи: этой OUTPUT-переменной не назначался курсор (предыдущим вызовом процедуры); курсор OUTPUT-переменной назначался предыдущим вызовом процедуры, но был закрыт по завершении процедуры; переменной не назначен какой-либо курсор.
-3 Курсор с таким именем не существует. Курсорная переменная с таким именем не существует или (если существует) ей не назначен курсор.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.