Параметры курсора похожи на параметры процедуры

• не совпадать с зарезервированными словами PL/SQL или SQL, которые имеют специальное значение. Например, именем переменной не может быть слово BEGIN, которое обозначает начало выполняемой секции базового блока PL/SQL.

Тип_данных — это любой допустимый тип данных SQL или PL/SQL. Дополнительная информация о типах данных приведена в следующем разделе.

Модификатор NOT NULL требует, чтобы переменная имела значение. Если он указан, переменной должно быть присвоено значение по умолчанию.

Создаваемой переменной можно присвоить значение по умолчанию, заданное соответствующим выражением. Это просто сокращенный способ присваивания значений переменным.

В языке SQL Oracle  предусмотрены типы данных NUMBER, VARCHAR2 и DATE. Кроме них PL/SQL имеет дополнительные типы данных, отсутствующие в SQL.

1.      Какие способами можно присвоить значения переменным PL/SQL?

Есть три способа изменения значения переменной. Во-первых, ей можно присвоить значение выражения, использовав оператор присваивания PL/SQL:

имя_переменной := выражение;

Во-вторых, переменная может быть передана PL/SQL-процедуре в качестве фактического параметра, соответствующего одному из формальных параметров IN OUT или OUT. После завершения процедуры значение переменной может измениться.

Третий способ изменения или присваивания значений использует предложение INTO в операторе SELECT.

2.      Приведите правила записи условного оператора и операторов цикла в языке PL/SQL.

Оператор IF имеет следующий синтаксис:

IF   условие_1  THEN

действие_1;

[ELSIF  условие_2   THEN

действие_2;]

[ELSE

альтернативное_действие;]

END  IF;

Действие_1 …  альтернативное_действие представляют один или несколько PL/SQL-операторов. Каждая группа операторов выполняется только в том случае, если выполнено соответствующее условие. После того как обнаружено выполнение одного из условий, остальные условия не проверяются.

Конструкция LOOP имеет следующий синтаксис:

<< имя_цикла >>

LOOP

операторы;

EXIT имя_цикла [WHEN  условие_выхода] ;

операторы;

END LOOP;

При наличии конструкции WHEN все операторы в теле цикла повторяются до тех пор, пока выражение условие_выхода не примет иcтинное значение. Условие выхода проверяется на каждом проходе, иначе называемом итерацией. Как только выражение принимает значение «истина», все операторы после EXIT пропускаются, итерации прекращаются и выполнение продолжается с первого оператора, следующего за END LOOP. Если условие WHEN отсутствует, операторы между LOOP и EXIT выполняются только один раз.

WHILE имеет следующий синтаксис:

WHILE условие_выхода

LOOP

операторы;

END LOOP;

В цикле FOR для подсчета итераций используется переменная-счетчик, называемая также индексом цикла (loop index). По завершении каждой итерации счетчик увеличивается, начиная с нижнего предела, или уменьшается, начиная с верхнего предела. Как только его значение выйдет за указанный диапазон, цикл завершается. Синтаксис выглядит следующим образом:

FOR счетчик IN  [REVERSE]  нижняя_граница .. верхняя_граница

LOOP

операторы;

END LOOP;

3.      Что представляет собой курсор в языке PL/SQL?

Курсор представляет собой специальный элемент PL/SQL, с которым связан SQL-оператор SELECT. Используя курсор, можно отдельно обрабатывать каждую строку связанного с ним SQL-оператора. Курсор объявляется в секции объявлений базового блока. Он открывается командой OPEN, а выборка строк осуществляется с помощью команды FETCH.

4.      Как объявить курсор в программе на языке PL/SQL?

Курсор объявляется в процедуре PL/SQL следующим образом:

CURSOR имя_курсора [(параметр_1 [, параметр_2…])]

[RETURN спецификация_возврата]

IS

оператор_select

[FOR UPDATE

[OF таблица_или_столбец_1

[, таблица_или_столбец_2…]

]

                                   ]

Параметры курсора похожи на параметры процедуры, за тем исключением, что они всегда являются входными (IN). Использование параметров OUT или INOUT невозможно, поскольку курсор не может их модифицировать. Параметры используются в конструкции WHERE курсорного оператора SELECT. Спецификация возврата показывает, записи какого типа будут выбираться оператором SELECT. Таблица_или_столбец — это имя столбца, который предстоит обновлять, или имя таблицы, в которой предстоит удалять или обновлять строки. Оно должно входить в число имен таблиц и столбцов, указанных в операторе SELECT курсора, и предназначено для документирования, показывая, какие

Ссылка на основную публикацию
Adblock detector