Как записывается и выполняется курсорный цикл FOR?

Команды открытия курсора, выборки из курсора и закрытия курсора имеют следующий синтаксис:

OPEN имя_курсора;

FETCH имя_курсора INTO переменная_или_список_пвременных;

CLOSE имя_курсора;

1.      Как записывается и выполняется курсорный цикл FOR?

Синтаксис курсорного цикла FOR имеет следующий вид:

FOR запись_курсора IN имя_курсора LOOP

операторы ;

END LOOP;

Этот цикл выбирает записи из курсора в переменную типа запись_курсора. Поля записи_курсора можно использовать для доступа к данным из операторов PL/SQL, выполняемых в цикле. Когда все записи выбраны, цикл завершается. Для удобства в курсорном цикле FOR открытие и закрытие курсора производится  автоматически.

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

Использовать исключения, определяемые программистом.

3.      Как объявить, активизировать и обработать исключение, определяемое программистом?

Исключение объявляется в секции объявлений. Аналогично любой другой объявленной там переменной, исключение действительно только для данного блока.

<имя исключения> EXCEPTION;

            Активизация:

                        RAISE <имя исключения>;

            Обработка происходит в секции исключений блока в следующем виде:

               EXCEPTION

WHEN имя_исключения

THEN

действия, предпринимаемые при возникновении исключения

WHEN имя_исключения

THEN

действия, предпринимаемые при возникновении исключения

                       

4.      Как объявить и использовать переменную динамического типа?

Синтаксис для объявления переменной PL/SQL с типом столбца:

имя_переменной    имя_таблицы.имя_столбцаYРЕ;

                        Используется как обычная переменная.

5.      Как объявить и использовать запись на языке PL/SQL?

Чтобы создать свою собственную запись, нужно сообщить PL/SQL ее имя и структуру. Это делается в секции объявлений при помощи следующего синтаксиса:

TYPE имя_типа_записи IS RECORD

( имя_поля_1   тип_поля_1,

  имя_поля_2   тип_поля_2,

 

);

Фактическое объявление записи имеет вид:

имя_переменной     имя_типа_записи

К записи можно обращаться, как к единому целому. Для доступа к отдельным полям записи применяется нотация имя_записи.имя_поля, которая уже использовалась для столбцов таблицы. Можно объявлять переменные, имеющие тип записи.

6.      Что представляет собой неявный курсор в языке PL/SQL и в чем его особенности?

Курсор, созданный самим PL/SQL для выполнения некоторой операции, называется неявным (implicit). Неявные курсоры не дают таких возможностей контроля, как явные курсоры. Неявный курсор работает только с одной строкой данных.

7.      Какую структуру имеет пакет в языке PL/SQL? Как получить доступ к объектам пакета?

Аналогично процедуре или функции, пакет имеет спецификацию и тело.

Спецификация пакета имеет следующий вид:

CREATE PACKAGE имя_пакета IS

[объявления переменных_и_типов]

[спецификации курсоров]

[спецификации функций_и_процедур]

END [имя_пакета] ;

Для создания тела пакета используется такой синтаксис:

CREATE OR REPLACE PACKAGE BODY имя_пакетаIS

[локальные объявления]

[полные спецификации курсоров пакета] ,

[полные спецификации функций_и_процедур пакета]

BEGIN

[выполняемые операторы]

[EXCEPTION]

[обработчики исключений]

END [имя_пакета];

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