Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SUBD_shpory.docx
Скачиваний:
5
Добавлен:
25.09.2019
Размер:
724.44 Кб
Скачать
  1. Pl/sql: исключения, встроенные исключения и пользовательские исключения, генерация (raise, raise_application_error) и обработка исключений, порядок распространения исключений.

Исключение – прерывание, которое возникает при наступлении какого-либо события.

Встроенное исключение – исключение которое определено в СУБД.

Пользовательское исключение – исключение, которое определил пользователь.

RAISE-инициализация именованного исключения.

RAISE_APPLICATION_ERROR-создает собственное сообщение об ошибке.

Типы ошибок: 1) ошибки компиляции (уровнем сообщений можно управлять); 2)ошибки времени выполнения (могут быть обработаны). Если используется динамический SQL, то можно обработать ошибку компиляции, т.к. компиляция исполняется во время исполнения.

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

Два типа исключительных ситуаций: 1) определяемые пользователем; 2) предопределенные (стандартные).

  1. Pl/sql:константы, %type, %rowtype, записи (record) и их применение, вложенные записи, присваивание записей.

%TYPEиспользуется для объявления переменной того же типа что и строка в необходимой таблице.

%ROWTYPEиспользуется для объявления записи того же типа, что и строка в необходимой таблице, представлении или курсоре.

Тип данных записи (RECORD) – тип данных, инкапсулирующий в себе несколько переменных одного или нескольких типов.

  1. Pl/sql: локальные процедуры и функции, параметры, позиционный и параметрический способ передачи параметров

Локальные процедуры и функции – такие процедуры и функции, которые создаются во время выполнения программы.

Процедуры и функции могут содержать входные и выходные параметры. Позиционный способ, когда пишем имя параметра и => а затем значение. В этом случае мы указываем параметры в любой последовательности.

Позиционный способ, когда указываем параметры (без имени) в строгой последовательности как и при создании процедуры или функции.

  1. PL/SQL: коллекции (массивы переменной длины, вложенные таблицы, ассоциативные массивы), назначение, принципы работы с коллекциями, различия, общие методы и встроенные исключения. Операторы MULTISET.

PL/SQL-коллекции:

  • массивы переменной длинны – объект содержащий объекты одного типа (размер ограничен сверху, т.е. нужно его указать заранее)

  • вложенные таблицы – таблицы, содержащие в себе строки, являющиеся объектами (в отличие от массивов переменной длинны размер не ограничен сверху)

  • ассоциативные массивы – индексированные таблицы (массивы, доступ к которым осуществляется не по индексу, а по ключу)

оператор над множествами MULTISET EXCEPT для извлечения из вложенной таблицы happyfamily родителей и поместим их имена во вложенную таблицу parents. Выведем содержимое таблицы parents.

  1. Pl/sql: динамический sql, оператор execute immediate, опции using (входные и выходные параметры), опция returning.

Динамический sqlоператоры sql, которые формируются и исполняются во время выполнения программы. Применяется для понимания кода, адаптирующегося к структуре таблиц.

Предложение EXECUTE IMMEDIATE подготавливает (делает синтаксический разбор) и сразу же выполняет динамическое SQL-предложение или анонимный PL/SQL-блок.

Основные преимущества динамического SQL:

  • можно выполнять в PL/SQL-блоках операторы DDL;

  • можно писать программы, адаптирующиеся к структуре таблиц;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]