Иван Задворьев - Язык PL/SQL

Тут можно читать онлайн Иван Задворьев - Язык PL/SQL - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Array SelfPub.ru, год 2018. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Иван Задворьев - Язык PL/SQL краткое содержание

Язык PL/SQL - описание и краткое содержание, автор Иван Задворьев, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.

Язык PL/SQL - читать онлайн бесплатно полную версию (весь текст целиком)

Язык PL/SQL - читать книгу онлайн бесплатно, автор Иван Задворьев
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

41 WHILE l_row_index IS NOT NULL LOOP

42 DBMS_OUTPUT.PUT_LINE(' ' ||l_elective_courses(l_row_index));

43 l_row_index := l_elective_courses.NEXT(l_row_index);

44 END LOOP;

45

46 END;

47 /

Студент: Ильин

Курсовые на младших курсах:

Курсовая на 1 курсе: оценка 4

Курсовая на 2 курсе: оценка 4

Курсовые на старших курсах:

Курсовая на 3 курсе:

Курсовая на 4 курсе: оценка 5

Курсовая на 5 курсе: оценка 5

Факультативы (всего 2):

Оптимизация баз данных

Теория надежности

PL/SQL procedure successfully completed.

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

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

Распространено мнение, что только половина профессионально написанного исходного кода реализует собственно функциональность программы. Остальной код – это ведение журнала программы, сохранение отладочной информации и обработка всевозможных ошибок.

Понятие исключения

Исключением (exception) в PL/SQL называется ситуация, которая не должна возникать при нормальном выполнении программы PL/SQL.

Существует два типа исключений PL/SQL:

системные исключения (run-time system exceptions), которые автоматически инициируются виртуальной машиной PL/SQL при возникновении программных ошибок этапа выполнения;

пользовательские исключения (user-defined exceptions), объявляемые программистом в коде PL/SQL и используемые при реализации бизнес-логики.

Программной ошибкой этапа выполнения (run-time program error) называется ситуация, когда наблюдается неожиданное поведение программы, затрудняющее или делающее невозможным достижение целей пользователя. Примерами программных ошибок могут служить попытки деления на ноль, ошибки преобразования символов в числа, ошибки выполнения предложений SQL.

Пользовательские исключения инициируются в программах PL/SQL в том случае, когда на прикладном уровне возникли отклонения от стандартного процесса обработки данных. Например, при обработке поступивших данных встретился чек с отрицательной суммой покупки или не в рублях. С точки зрения правил бизнес-логики это такая же ошибка, как и деление на ноль с точки зрения правил арифметики. Для попытки деления на ноль в ходе выполнения программы системное исключение будет автоматически инициировано виртуальной машиной PL/SQL, потому что она «знает» правила арифметики. Для поступающих ошибочных платежей инициировать пользовательское исключение должен в своем коде программист PL/SQL, потому что он знает правила бизнес-логики вида «Платежи принимаются только в рублях, на положительные суммы с точностью до копеек», «Платежи принимаются только для открытой смены контрольно-кассовой машины (ККМ)» и так далее.

Таким образом, основное различие системных и пользовательских исключений заключается в том, что они инициируются по-разному. Системное исключение автоматически инициируется виртуальной машиной, происходит неожиданно и обычно его появление говорит о том, что скоро придется решать проблемы самого разного вида. С пользовательскими исключениями все гораздо спокойнее – сами исключения, их инициирование специальными командами PL/SQL в коде и штатная обработка для выправления положения заранее предусматриваются программистом при проектировании.

Правила работы с исключениями:

пользовательские исключения объявляются в разделах объявлений блоков PL/SQL и имеют имена;

системные исключения имен не имеют, они характеризуются номером ошибки;

имеется возможность объявить пользовательское исключение и с помощью директивы компилятору связать его с некоторым номером ошибки.

Несколько исключений для часто возникающих в программах PL/SQL ошибок объявлено во встроенном пакете STANDARD с привязкой к соответствующим номерам ошибок. Эти исключения называются предопределенными исключениями PL/SQL (predefined exception) и их можно использовать в любых программах PL/SQL без дополнительных объявлений.

Таблица 2.Предопределенные исключения PL/SQL.

Исключение

Описание исключения (номер ошибки)

INVALID_CURSOR

ссылка на несуществующий курсор (ORA-01001)

NO_DATA_FOUND

не найдены данные командой

SELECT INTO (ORA-01403)

DUP_VAL_ON_INDEX

попытка вставить в столбец с ограничением

на уникальность значение-дубликат (ORA-00001)

TOO_MANY_ROWS

команда SELECT INTO возвращает

более одной строки (ORA-01422)

VALUE_ERROR

арифметическая ошибка, ошибка преобразования

или усечения чисел и строк (ORA-06502)

INVALID_NUMBER

ошибка преобразования строки в число (ORA-01722)

PROGRAM_ERROR

внутренняя ошибка PL/SQL (ORA-06501)

ZERO_DIVIDE

попытка деления на ноль (ORA-01476)

Схема обработки исключений в Java

В языке программирования Java при описании работы с исключениями используется бейсбольная терминология. При возникновении исключения бросается (throws) объект-исключение. Этот объект как бейсбольный мяч пролетает через исходный код, появившись сначала в том методе, где произошло исключение. В одном или нескольких местах кода объект-исключение пытаются (try) поймать (catch) и обработать. Причем исключение можно обработать в одном месте кода полностью, а можно обработать исключение частично, выбросить его из обработчика снова, поймать в другом месте и обрабатывать дальше.

Приведем пример кода на Java с попыткой поймать два исключения – связанные с ошибками арифметических вычислений и нарушением правил работы с массивами (выход индекса массива за границы диапазона):

try{

}

catch(ArithmeticException ae){

System.out.println("From Arithm.Exc. catch: "+ae);

}

catch(ArraylndexOutOfBoundsException arre){

System.out.println("From Array.Exc.catch: "+arre);

}

}

Схема обработки исключений в PL/SQL

Работа с исключениями в PL/SQL очень похожа на то, как это делается в Java.

Для обработки исключений предназначен последний раздел блока PL/SQL – раздел обработки исключений. Этот последний раздел блока после ключевого слова EXCEPTION похож на то, что в Java указывается после ключевого слова catch. Перед обсуждением правил обработки исключений приведем небольшой пример с комментариями в коде.

DECLARE

a INTEGER;

BEGIN

a := 1;

a := 2/0; – бросается предопределенное исключение ZERO_DIVIDE

a := 3; – над этой командой пролетает, команда не выполняется

a := 4; – над этой командой тоже пролетает, команда не выполняется

– управление передается в раздел обработки исключений,

– начинаем «примерку» обработчиков

EXCEPTION

– не подходит по имени ловимого исключения к прилетевшему ZERO_DIVIDE

WHEN PROGRAM_ERROR THEN

DBMS_OUTPUT.PUT_LINE('Программная ошибка');

– оба имени ловимых исключений не подходят к прилетевшему ZERO_DIVIDE

WHEN INVALID_NUMBER OR VALUE_ERROR THEN

DBMS_OUTPUT.PUT_LINE('Ошибка работы с числами и строками');

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Иван Задворьев читать все книги автора по порядку

Иван Задворьев - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык PL/SQL отзывы


Отзывы читателей о книге Язык PL/SQL, автор: Иван Задворьев. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x