Мониторинг обменных курсов валют
18c0693f

Курсоры



Курсоры

До сих пор сервер возвращал все результаты запроса по его завершении. Иногда бывает предпочтительнее получать ответ построчно. Чаще всего это справедливо при встраивании SQL-запросов в другие программы. Если запрос возвращает десятки тысяч строк, очень велика вероятность, что вам захочется обработать результаты построчно, а не хранить все в памяти для дальнейшего использования. Этот метод применяется в большинстве случаев, когда необходимо обращаться к SQL из Perl. Вот маленькая программа на SQL, в которой показано употребление курсоров на сервере Sybase или MS-SQL:

USE sysadm

-- объявляем переменные DECLARE (ahostname character(30) DECLARE @ip character(15)

-- объявляем курсор

DECLARE hosts_curs CURSOR FOR SELECT name,ipaddr FROM hosts

-- открываем курсор OPEN hosts_curs

-- обходим в цикле таблицу, получая по одной строке за один раз -- до тех пор, пока не получим ошибку FETCH hosts_curs INTO shostname,gip WHILE (@@fetch_status = 0) BEGIN

PRINT "----"

PRINT (Briostriame

PRINT @ip

FETCH hosts_curs INTO Shostname.^iD END -- закрываем курсор (это не обязательно если -- далее следует DEALLOCATE) CLOSE hosts._curs

-- снимаем определение (unde'ine) курсора DEALLOCATE hosts_curs

В результате получается следующее:

shimmer 192.163.1.11

bendir 192.168.1.3

sander 192.168.1.55

Sulawesi 192.168.1.12



Содержание раздела


Самый выгодный курс обмена валюты