русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

For select c1, c2 from table1 where c1 between 2 and 4


Дата добавления: 2015-07-09; просмотров: 457; Нарушение авторских прав


/*

Выполняем команду принудительного завершения транзакции. После нее все объявленные переменные, локальные курсоры становятся недоступны.

*/

go

/*

Описываем переменную типа курсор и ставим ей в соответствии глобальный курсор cursor1

*/

 

declare @cursor cursor

set @cursor = cursor1

 

 

/*

Открываем курсор.

*/

 

open @cursor

 

 

/*

Извлекаем 1-ую строку из курсора (используя опцию по умолчанию NEXT).

*/

 

fetch @cursor

 

 

/*

Т.к. все описанные до выполнения команды go переменные более недоступны, то снова описываем строковую переменную и помещаем в нее имя тестовой таблицы. Используя эту переменную и команду UPDATE, изменяем значение столбца c2 в выбранной строке. Строка задается с помощью конструкции WHERE CURRENT OF <имя курсора>, которая указывает на ту строку таблицы, которая является текущей строкой для курсора.

После указанного изменения с помощью команды SELECT выводим все значения столбцов c1, c2, которые принадлежат строкам, удовлетворяющим следующему условию: значения поля c1 лежат на отрезке [2..4].

*/

 

declare @var varchar(128)

set @var = 'table1'

execute ('update ' + @var + ' SET c2 = 3 where current of cursor1')

execute ('select c1, c2 from ' + @var + ' where c1 between 2 and 4')

 

 

/*

Т.к. курсор динамический, то он отображает все изменения, произведенные в базовой таблице. Таким образом, выполнив следующую команду UPDATE, которая изменяет значения столбца c2 в той строке, где c2 был равен 4, мы можем в этом убедиться, последовательно извлекая в цикле WHILE все строки из описанного курсора. Цикл работает, пока функция @@FETCH_STATUS выдает значения отличные от -1, т.е. пока извлекаемая строка не вышла за пределы диапазона. Такой цикл применим, т.к. курсор динамический (значение -2 возвращено не будет).



*/

 

execute ('update ' + @var + ' SET c2 = 13 where c2 = 4')

 

while @@FETCH_STATUS <> -1

Begin

fetch next from @cursor

End

 

/*

Закрываем курсор.

*/

 

close @cursor

Пример 2.

/*

Проверяем существование описываемого курсора с помощью функции cursor_status. Если курсор существует, то выполняем по отношению к нему команду DEALLOCATE

*/

if (cursor_status('global', 'cursor2') <> -3)



<== предыдущая лекция | следующая лекция ==>
Функции работы с курсорами. | Open cursor2


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.65 сек.