Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билет 11.docx
Скачиваний:
4
Добавлен:
01.04.2025
Размер:
229.36 Кб
Скачать

Управление реляционными базами данных. Основные понятия и конструкции pl/sql. Курсоры, хранимые процедуры, функции пользователя, триггеры.

PL/SQL (Procedural Language / Structured Query Language) - это процедурный блочно-структурированный язык. Он представляет собой расширение языка SQL и предназначен для работы с СУБД Oracle.

PL/SQL предоставляет разработчику приложений и интерактивному пользователю следующие основные возможности:

  • реализация подпрограмм как отдельных блоков, в том числе использование вложенных блоков;

  • создание пакетов, процедур и функций, хранимых в базе данных;

  • предоставление интерфейса для вызова внешних процедур;

  • поддержка как типов данных SQL, так и типов, вводимых в PL/SQL;

  • применение явного и неявного курсора, а также оператора цикла FOR для курсора;

  • введение у переменных PL/SQL и курсоров атрибутов, которые позволяют ссылаться на тип данных или структуру элемента;

  • поддержка набора операторов управления и операторов цикла;

  • реализация механизма обработки исключений.

Программа на PL/SQL состоит из блоков (анонимных или поименованных). Блок может содержать вложенные блоки, называемые иногда подблоками. Общая форма PL/SQL-блока:

DECLARE

-- Описания блока, переменные, типы, курсоры и т. п. (опционально)

BEGIN

-- Непосредственно код программы

EXCEPTION

-- Обработка исключений (опционально)

END;

/* Многострочные

комментарии… */

-- Однострочный комментарий

Хранимая процедура - объект базы данных, представляющий собой набор SQL-инструкций, который компилируется один раз и хранится на сервере. Хранимые процедуры очень похожи на обыкновенные процедуры языков высокого уровня, у них могут быть входные и выходные параметры и локальные переменные, в них могут производиться числовые вычисления и операции над символьными данными, результаты которых могут присваиваться переменным и параметрам. В хранимых процедурах могут выполняться стандартные операции с базами данных (как DDL, так и DML). Кроме того, в хранимых процедурах возможны циклы и ветвления, то есть в них могут использоваться инструкции управления потоком.

Триггер - это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено наступлением определенного события (действием) - по сути добавлением INSERT или удалением DELETE строки в заданной таблице, или модификаци UPDATE данных в определенном столбце заданной таблицы реляционной базы данных. Триггер запускается сервером автоматически при попытке изменения данных в таблице, с которой он связан. Момент запуска триггера определяется с помощью ключевых слов BEFORE (триггер запускается до выполнения связанного с ним события; например, до добавления записи) или AFTER (после события)

Курсор - ссылка на контекстную область памяти. В PL/SQL поддерживаются два типа курсоров: явные и неявные. Явный курсор объявляется разработчиком, а неявный курсор не требует объявления.

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

Операторы управления явным курсором:

  • Оператор CURSOR выполняет объявление явного курсора.

  • Оператор OPEN открывает курсор.

  • Оператор FETCH выполняет последовательное извлечение строк из результирующего набора от начала до конца.

  • Оператор CLOSE закрывает курсор и освобождает занимаемые им ресурсы

Пользовательские функции - объект базы данных, представляющий собой набор SQL-инструкций Отличием от процедур является то, что она может возвращать значения

CREATE [OR REPLACE] FUNCTION - имя_функции

(аргумент [IN] [OUT] [IN OUT] тип, ..... ) AS [IS]

--- тело процедуры ---

RETURN (возвращаемое_значение)

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