Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Удаление хранимой процедуры

Удаление хранимой процедурыБазовый синтаксис удаления хранимой процедуры идентичен во всех трех ведущих базах данных.

Пользовательские функции объединяют в себе достоинства хранимых процедур и встроенных функций СУБД. Они могут принимать параметры, выполнять вычисления на основе извлеченных из таблиц данных с помощью одной или нескольких инструкций SELECT и возвращать результаты в вызывающую инструкцию SQL. Пользовательские функции могут быть скалярными и табличными (т. е. они могут включаться в предложение FROM). Детальное обсуждение дополнительных средств выходит за рамки книги. (Можно обратиться к документации СУБД или к книге Функции SQL. Справочник программиста (“Диалектика”, 2006). Главное отличие функции от хранимой процедуры заключается в том, что функция может быть вызвана. Для примера предположим, что нужно отобрать суммы заказов в разрезе клиентов, при этом должен быть учтен налог с продаж. Налоги с продаж отличны в разных штатах; к примеру, на момент написания настоящей книги в Калифорнии он составлял 7,25%. К тому же в базе данных ACME общая цена заказов вообще нигде не хранится, и она должна вычисляться динамически с помощью умножения цены товара на его заказанное количество. Последнее в базе данных ACME реализовано с помощью представления V_CUSTOMER_TOTALS (см. главу 4). Пользовательская функция UF_ORDERTAX принимает два параметра: процент налога и номер заказа, а возвращает общую сумму заказа с учетом налога с продаж.

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

Символ косой черты (/) в конце необходим для компиляции программного кода с помощью утилиты командной строки SQLPLUS. (Этот тезис также справедлив для хранимых процедур и триггеров.) При использовании утилит с графическим

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *