r/>
. Вистава В«Батько з полями з таблиці Місце реєстраціїВ»
В
Рис 4.3 Створення подання В«Ребенок3В»
4.2 Створення запитів
. Запит В«ДитинаВ», вибірка всіх полів з таблиці В«KARTAВ»
В
Рис 4.4 Створення запиту В«Ребенок1В»
. Запит для вибірки даних з таблиці В«KARTAВ», В«OcnovaniaPomecheniaVCPDВ»
В
Рис 4.5 Створення подання В«Ребенок2В»
. Запит В«БатькоВ», вибірка даних з таблиці В«OtezВ», В«MectoRegictraziiВ»
В
Рис 4.6 Створення подання В«Ребенок3В»
.3 Створення курсорів
Під курсором, як правило, розуміють одержуваний при виконанні запиту результуючий набір і пов'язаний з ним покажчик поточного запису. Курсор - це об'єкт, пов'язаний з певною областю пам'яті. Існують явні і неявні курсори. p align="justify"> Явний курсор має ім'я і перед використанням повинен бути оголошений. Неявний курсор створюється автоматично і його не можна повторно відкрити без перекомпіляції оператора запиту. p align="justify"> Оголошення курсору виконується оператором DECLARE CURSOR, в якому фраза FOR визначає запит, асоційований з даним курсором.
Наприклад, оператор
EXEC SQL DECLARE Х1CURSOR FOR SELECT f1, f2, f3 FROM
КARTA WHERE f2> 100;
створює курсор X1 на базі таблиці KARTA. При оголошенні курсору виконання запиту не відбувається. Виконання запиту і створення курсору ініціюється оператором OPEN CURSOR. p align="justify"> Наприклад, оператор
OPEN CURSOR X1;
створить курсор, виконавши певний в ньому оператор SELECT.
Додаток отримує доступ до даних курсору при послідовному вилученні рядків результуючого набору в змінні програми.
Для отримання даних з курсору використовується оператор FETCH.
Наприклад, оператор
FETCH X1 INTO: f1,: f2,: f3;
витягує значення поточного рядка курсору в INTO-змінні.
Для звільнення пам'яті, виділеної під курсор, його слід закрити, виконавши оператор CLOSE CURSOR. Наприклад:
CLOSE CURSOR X1;
Приклади створення, відкриття, вилучення даних та закриття курсорів.
. DECLARE С1CURSOR FOR SELECT f1, f2, f3, f4, f5, f6 FROM Mat - створює курсор з ім'ям С1, для вибірки даних в змінні f з таблиці Mat
OPEN CURSOR C1; - відкриває курсор С1
FETCH C1 INTO: f1, f2, f3, f4, f5, f6 - поміщає дані в змінні f
C...