Введение в язык запросов PL/SQL. Способы работы с языком PL/SQL. Пользовательские и системные функции языка, выражения, идентификаторы, ключевые слова

Страницы работы

Содержание работы

Язык PL/SQL

Учебный центр информационных технологий «Информатика»

Содержание лекции №2:

  • Введение в язык запросов PL/SQL
  • Способы работы с языком PL/SQL
  • Пользовательские и системные функции языка, выражения, идентификаторы, ключевые слова

Задачи выполняемые при помощи PL/SQL

  • Реализация бизнес-логики в Oracle Server с помощью хранимых процедур и триггеров;
  • Формирование XML-документов, их хранение в базе данных, а также для выполнения операций с этими документами;
  • Связывание WEB страниц с базой данных ORACLE;
  • Выполнение и автоматизация задач автоматизирования базы данных – от защиты на уровне строк до управления сегментами отката в программах PL/SQL

Введение в язык запросов PL/SQL

  • PL/SQL – процедурный язык пошагового программирования содержащий в себе язык SQL
  • PL/SQL – имеет строгие правила области видимости переменных, поддерживает параметризированные вызовы процедур и функций
  • PL/SQL – предусматривает строгий контроль типов, все ошибки несовместимости типов выявляются на этапе компиляции и выполнения. Также поддерживает явное и неявное преобразование типа
  • PL/SQL – имеет элемент Exception Handler (обработчик исключительных ситуаций) для синхронной обработки ошибок на этапе выполнения кода

Защита приложения и целостности выполнения транзакций

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

Строковые типы данных Oracle

Параметр NLS_LENGTH_SEMANTICS определяет будет ли длина Char или Varchar2 определяться размером или числом национальных символов

Хранение данных большого размера

Типы данных для хранения числовых значений

Типы данных для хранения даты

Функции для работы с датами

Операции с датами: Next_day(date1,’Понедельник’)- дата следующего дня недели Sysdate – текущая дата Trunc(date1) – дата округлённая до времени 00:00:00 Month_between(date1,date2) – число месяцев между двумя датами Date1-date2 – разница в днях между двумя датами Last_day(date1)- последний день месяца указанной даты Add_days(date1,6) , add_days(date1,-6) – прибавление и вычитание дней из даты

Отображение даты

Каждый раз, когда надо вывести значение DATE, Oracle вызывает функцию TO_CHAR автоматически с заданным по умолчанию форматом DATE. Однако, можно отменить заданный по умолчанию формат, вызвав TO_CHAR с явно указанным собственным форматом DATE

TO_CHAR(<дата>, '<формат>') например – TO_CHAR(date1,’dd.mm.yyyy HH24:MI:SS’)

Типы данных PL/SQL

  • Коллекции и записи collection, record
  • LOB типы включаяBFILE, BLOB, CLOB, и NCLOB
  • REF CURSORS и REFs на объекты
  • Числовые типы BINARY_DOUBLE, BINARY_FLOAT, BINARY_INTEGER, DEC, DECIMAL, DOUBLE PRECISION, FLOAT, INT, INTEGER, NATURAL, NATURALN, NUMBER, NUMERIC, PLS_INTEGER, POSITIVE, POSITIVEN, REAL, SIGNTYPE, SMALLINT
  • Булево значение BOOLEAN
  • Дата - DATE, TIMESTAMP, TIMESTAMP WITH TIMEZONE, TIMESTAMP WITH LOCAL TIMEZONE, INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND

Специальные символы в PL/SQL

Идентификаторы

Идентификатор – это имя объекта PL/SQL, которым может быть:

  • Константа;
  • Скалярная переменная;
  • Составная переменная(запись или коллекция);
  • Исключение;
  • Процедура;
  • Функция;
  • Пакет;
  • Тип;
  • Курсор;
  • Зарезервированное слово;
  • Метка

Идентификатор должен начинаться с буквы, иметь длину до 30 символов, не должен содержать пробелы, может содержать символы $, «_» и «#»

Зарезервированные слова в ORACLE

Некоторые идентификаторы имеют в языке PL/SQL специальное назначение, их нельзя использовать в качестве имён объектов в своих программах.

  • Ключевые слова;
  • Идентификаторы пакета STANDART.

Представление содержащее зарезервированные слова:

select * from v$reserved_words order by keyword

Правила наименования

Правила наименования делают код более читабельным для понимания и упрощают отладку кода

Структура PL/SQL блока

Имеет наглядную структуру блоков, облегчающую расширение и сопровождение приложений PL/SQL

Анонимный PL/SQL блок

Хранимая программа

DECLARE

<header>

IS|AS

DECLARE

BEGIN

BEGIN

EXCEPTION

EXCEPTION

END

END

Процедуры

  • Процедура – поименованный pl/sql блок, который выполняет последовательность действий
  • Процедура хранится в базе данных как объект схемы
  • Параметры в процедурах могут передаваться в трёх режимах: IN, OUT, IN OUT
  • Параметры можно передавать по ссылке, а не по значению IN OUT NOCOPY

Объявление процедуры

CREATE [OR REPLACE] PROCEDURE procedure_name [(parametr1 [mode] datetype1, parametr2 [mode] datetype2, …)] IS|AS [объявление локальных переменных; …] BEGIN ---действия; End [procedure_name];

Похожие материалы

Информация о работе