
103 
 
16. ХРАНИМЫЕ ПРОЦЕДУРЫ – ИНСТРУМЕНТ ПОВЫШЕНИЯ 
ЭФФЕКТИВНОСТИ ПРИЛОЖЕНИЯ БД 
 
Хранимая процедура - отдельная программа, написанная на SQL для процедур 
и  триггеров InterBase.  Сами  процедуры  хранятся  в  базе  данных.  Хранимые 
процедуры позволяют вести поиск и обработку данных непосредственно на сервере, 
обеспечивая  максимальную  независимость  клиентской  части  приложений.  В  них 
могут  использоваться  любые  конструкции SQL  для  процедур  и  триггеров,  кроме 
контекстных  переменных NEW.co/wmn,  OLD.column,  применимых  только  в 
триггерах.  Они,  как  обычные  программы,  могут  получать  входные  параметры  и 
возвращать значения вызвавшим их приложениям. Кроме того, могут возвращать не 
только отдельный набор значений - строку, но и множество строк, которое можно 
рассматривать как виртуальную таблицу. 
Хранимая  процедура  может  также  вызываться  непосредственно  из 
приложения или других хранимых процедур или триггеров. Хранимые процедуры, 
возвращающие множество строк, можно использовать в команде SELECT на месте 
таблиц или обзоров. Использование хранимых процедур дает ряд преимуществ: 
-  Модульность проектирования. Приложения,  которые  обращаются  к  одной 
базе данных, могут совместно использовать хранимые процедуры, устраняя двойной 
код, уменьшая размер приложений и устраняя потенциальные ошибки. 
- Локализация изменений. Если процедура модифицируется, то все внесенные 
изменения автоматически отражаются  во всех  приложениях, которые используют 
процедуру,  обеспечивая  их  согласованность.  При  этом  нет  необходимости  в 
перетрансляции и перекомпоновке приложений. 
-  Ускорение  обработки.  Хранимые  процедуры  выполняются  сервером,  а  не 
клиентом, что позволяет ускорить обработку запросов и сократить сетевой трафик. 
Последнее особенно важно для удаленного клиентского доступа. 
Процедуры  по  своему  назначению  разделяются  на  два  вида:  выполнимые 
процедуры и процедуры выбора. 
Выполнимая процедура - это обычная программа, которая получает несколько 
(возможно,  и  ноль)  параметров,  выполняет  какие-либо действия в  базе данных  и 
возвращает несколько (возможно, и ноль) значений. 
Процедура выбора - это программа, которая получает несколько (возможно, и 
ноль)  параметров,  выполняет  какие-либо  действия  в  базе  данных  и  возвращает 
множество (возможно, пустое) наборов значений.  
Другими  словами,  процедура  выбора  создает  вычисляемую  таблицу,  хотя 
такая таблица никуда и не записывается. Это позволяет обращаться к процедуре, как 
к таблице, используя команду SELECT.  
Синтаксически можно обращаться к выполнимой процедуре, как к процедуре 
выбора, получая при этом в ответ в точности одну строку, а к процедуре выбора, как 
к  выполнимой,  получая  при  этом  в ответ  первую  строку  формируемой таблицы.