LOSE CURSOR c1; - закриває курсор С1
. DECLARE С2CURSOR FOR SELECT f1, f2, f3, f4, f5, f6 FROM Otez; - створює курсор з ім'ям С1, для вибірки даних в змінні f з таблиці Otez
OPEN CURSOR C2; - відкриває курсор С2
FETCH C2 INTO: f1, f2, f3, f4, f5, f6 - поміщає дані в змінні f
CLOSE CURSOR c2; - закриває курсор С2
. DECLARE С3 CURSOR FOR SELECT f1, f2, f3, f4, f5, f6 FROM KARTA; - створює курсор з ім'ям С1, для вибірки даних в змінні f з таблиці KARTA
OPEN CURSOR C3; - відкриває курсор С3
FETCH C3 INTO: f1, f2, f3, f4, f5, f6 - поміщає дані в змінні f
CLOSE CURSOR C3; - закриває курсор С3
.4 Створення змінних
змінні служать для отримання даних з результуючого набору в змінні основної мови програмування. Яка б технологія доступу до БД ні використовувалася в додатку, після формування результуючого набору дані для подальшої обробки (зміни, відображення, печатки тощо) завжди повинні бути вилучені в змінні, з якими може працювати основна мова програмування. У вбудованому SQL оператор SELECT відразу може вказати імена змінних, в які будуть занесені результати запиту. Такі змінні називаються INTO-змінними. p align="justify"> Для використання INTO-змінних існують наступні обмеження:
В· результуючий набір гарантовано повинен повертати тільки один рядок;
В· тип кожної INTO-змінної повинен відповідати типу стовпця, значення якого записується в цю змінну.
Результуючий набір буде гарантовано повертати тільки один рядок в наступних випадках:
В· при використанні в предикат значення поля, що є унікальним в силу оголошення його як PRIMARY KEY або UNIQUE;
В· при агрегування даних всієї таблиці, коли у списку полів вказується агрегує функції, а фраза GROUP BY відсутня;
В· якщо структура використовуваних таблиць і синтаксис оператора SELECT однозначно визначають возвращаемую рядок.
Наприклад:
EXEC SQL SELECT f1, f2, f3 FROM KARTA INTO: var1, var2, var3 f1 = 1;
Імена INTO-змінних можуть збігатися з іменами полів, оскільки це різні ідентифікатори, що відрізняються наявністю у INTO-змінних символу двокрапка.
Змінні зв'язку
Змінні зв'язку (bind-змінні) служать для передачі значень в СУБД. Ці змінні можуть використовуватися у фразі WHERE для обчислення умови, в операторах INSERT і DELETE для визначення встановлюваних значень. p align="justify"> ...