Онда меңзерді сипаттау операторы келесі тҥрде болады:
DECLARE Debtor_reader_cursor INSENSITIVE CURSOR FOR
SELECT
READERS.FIRST_NAME.
READERS.LAST_NAME.
READERS.ADRES.
READERS.HOME_PHON.
READERS.WORK_
PHON. BOOKS.TITLE
FROM READERS.BOOKS.EXEMPLAR
WHERE READERS.READER_ID = EXEMPLAR.READER_ID AND
BOOKS.ISBN = EXEMPLARE.ISBN AND EXEMPLAR.DATA_OUT
> Getdate ()
ORDER BY READERS.FIRST_NAME
FOR READ ONLY
Меңзерді сипаттау кезінде меңзермен байланысты жолдардың
негізгі жинағын жасау ҥшін пайдаланылатын SELECT операторының
тҥріне шектеу жоқ. SELECT операторында топтастырулар жəне
кіріктірілген қосалқы сҧраныстар, есептелетін өрістер пайдаланылуы
мҥмкін.
Кеңейтілген FETCH операторы келесі синтаксиске ие: FETCH
[NEXT | PRIOR | FIRST | LAST |
ABSOLUTE {n | <ауыспалының_аты>}
| RELATIVE{n|<ауыспалының_аты>}]
FROM
<меңзердің аты>INTO <негізгі ауыспалылар тізімі>
МҧндаNEXT параметрі меңзермен байланысты негізгі жолдар
жинағындағы ағымдағыдан кейінгі келесі жолдың таңдалуын
белгілейді. PRIOR параметрі ағымдағыға қатысты бҧдан бҧрынғы
жолдың жылжытылуын белгілейді. FIRST параметрі жинақтың бірінші
жолына, ал LAST параметрі жинақтың соңғы жолына жылжытылуын
белгілейті.
Бҧдан басқа, кеңейтілген жылжыту операторында бірден
белгіленген жолған орналастыруға рҧқсат етіледі; бҧл ретте
ABSOLUTE параметрімен
белгілей отырып, абсолютті адресаттау жəне
RELATIVE
параметрімен
белгілей
отырып,
салыстырмалы
адресаттауға рҧқсат етіледі. Салыстырмалы адресаттау кезінде оң сан
нҧсқарды ағымдағы жазбадан төмен, теріс сан ағымдағы жазбадан
жоғары жылжытады.
Алайда кеңейтілген FETCH операторын қолдану ҥшін SQL2
стандартына сəйкес меңзердің сипаттамасы міндетті тҥрде SCROLL
өзекті сөзін қҧрауы керек. Кейде мҧндай меңзерлер бҧралатын деп
аталады. Стандартқа осы меңзерлер жақын арада ғана енді, сондықтан
коммерциялық ДҚБЖ-де ҧқсас меңзерлермен жҧмыс істейтін
операторлар жиі қатты ерекшеленеді.
Бҥгінгі кҥннің реалийлері коммерциялық ДҚБЖ жеткізушілерін SQL
соңғы стандартын аса қатаң қадағалауға мəжбҥрлейді. Техникалық
қҧжаттамада FETCH операторының синтаксисінің екі нҧсқасын
кездестіруге болады: біреуі, стандартқа сəйкес келеді жəне екіншісі
меңзермен жҧмыс істеу ҥшін тек ДҚБЖ деректерімен ҧсынылатын
қосымша мҥмкіндіктермен стандартты кеңейтеді.
Егер сіз ДҚ басқа платформаға орын ауыстыру қажет деп
болжасаңыз, ал бҧны əрқашан көздеу керек, онда стандартты
мҥмкіндіктерді пайдаланған жөн. Бҧл жағдайда қосымша аса
платформалы-тəуелсіз болады жəне басқа ДҚБЖ-ға орын ауыстыру
жеңіл болады.
9.3.
Меңзерді жабу операторы
Меңзерді жабу операторының синтаксисі қарапайым, ол мынадай
болады:
CLOSE<меңзердің_аты>
Меңзерді жабу операторы меңзерді ашу операторымен жасалған
уақытша кестені жабады жəне қолданбалы бағдарламаның осы
объектке қолжетімдігін тоқтатады. Жабу операторының бірден-бір
параметрі меңзердің аты болып табылады.
Меңзерді жабу операторы меңзерді ашу операторынан кейін кез-
келген сəтте орындалуы мҥмкін.
Кейбір коммерциялық ДҚБЖ-де меңзерді жабу операторынан басқа
меңзерді деактивациялау (жою) операторы пайдаланылады. Мысалы,
MS SQL Server 7.0-де меңзерді жабу операторымен
қатар
DEALLOCATE <меңзердің_аты> операторы пайдаланылады.
Мҧнда меңзерді жабу операторы меңзерге байланысты деректер
жинағын жоймайды, тек оған қолжетімдікті жабады жəне бҧдан бҧрын
осы меңзермен байланысты болған барлық бҧғаттауларды босатады.
DEALLOCATE SQL Server операторын орындау кезінде DECLARE
меңзерді сипаттау командасымен пайдаланылатын бөлінетін жадты
босатады. Осы команданы орындағаннан кейін осы меңзер ҥшін OPEN
командасын орындау мҥмкін емес.
9.4.
Меңзерді пайдалана отырып деректерді жою және жаңарту
Қолданбалы бағдарламаларда меңзерлер жиі деректерді ретімен
қарау ҥшін пайдаланылады. Егер меңзер топтастыру операциясымен
байланысты болмаса, онда іс жҥзінде меңзердің əрбір жолы қатаң
тҥрде бастапқы кестенің бір жолына ғана сəйкес келеді жəне осы
жағдайда меңзерді деректерді жедел тҥзету ҥшін пайдалану қолайлы.