Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Понятие о курсоре SQL1. Первое определение курсора 2. Активизировать курсор 3. Прочитать соответствующий курсор, переместить курсор 4. Закрыть курсор
Рассмотрим эти инструкции на конкретных примерах. Курсор определяется также как представление – с помощью SELECT.
Пример Мы хотим рассматривать таблицу S, обрабатывать ее, рассматривать поставщиков из Москвы.
EXEC SQL DECELERATE CURSOR MS FOR SELECT * FROM S WHERE Город=’Москва’;
Эта функция определяет курсор, но никакого значение курсор не принимает.
Пример Если мы хотим обрабатывать этих поставщиков, то должны открыть курсор.
EXEC SQL OPEN CURSOR MS
Открывается и принимает значения соответствующие данным из картежа, где установлен курсор. Начинается обработка данных, соответствующих определенному курсору. EXEC SQL FETCH INTO :id,:name,:lex,:sity
Где id, name, lex, sity – это переменные языка высокого уровня. При этом происходят два действия: 1. Перечисленным переменным присваиваются значения активного картежа 2. Курсор перемещается к следующему картежу При использовании этой инструкции курсор можно не писать.
Пример Напечатать данные обо всех поставщиках проживающих в Москве. KEY:=’Y’ EXEC SQL OPEN CURSOR MS; WHILE KEY=’Y’ DO {(KEY=’Y’)AND(SQLCODE=0) DO} BEGIN EXEC SQL FETCH MS INTO :id,:name,:lex,:sity WRITELN(id, name, lex, sity); WRITE(‘ПРОДОЛЖИТЬ? (Y/N)’); READLN(KEY) END; EXEC SQL CLOSE CURSOR MS;
Для того чтобы управлять этим циклом в SQL есть специальная переменная SQLCODE. Эта переменная формируется каждый раз, когда исполняется FETCH. Она принимает значение 0, когда курсор не пуст.
Дата добавления: 2014-08-04; просмотров: 311; Нарушение авторских прав Мы поможем в написании ваших работ! |