Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Управление данными.docx
Скачиваний:
8
Добавлен:
14.08.2019
Размер:
435.99 Кб
Скачать
  1. Хранимые процедуры.

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

Сохраняемые процедуры похожи на определяемые пользователем функции (UDF). Основное различие заключается в том, что пользовательские функции можно использовать как и любое другое выражение в SQL запросе, в то время как сохраняемые процедуры должны быть вызваны с помощью функции CALL:

CALL процедура(…) Или EXECUTE процедура(…)

Сохраняемые процедуры могут возвращать множества результатов, то есть результаты запроса SELECT. Такие множества результатов могут обрабатываться, используя курсоры, другими сохраненными процедурами, возвращая указатель результирующего множества, либо же приложениями. Сохраняемые процедуры могут также содержать объявленные переменные для обработки данных и курсоров, которые позволяют организовать цикл по нескольким строкам в таблице. Стандарт SQL предоставляет для работы выражения IF, LOOP, REPEAT, CASE и многие другие. Сохраняемые процедуры могут принимать переменные, возвращать результаты или изменять переменные и возвращать их, в зависимости от того, где переменная объявлена.

Реализация сохраняемых процедур варьируется от одной СУБД к другой. Большинство крупных поставщиков баз данных поддерживают их в той или иной форме. В зависимости от СУБД, сохраняемые процедуры могут быть реализованы на различных языках программирования, таких, как SQL, Java, C или C++. Сохраняемые процедуры написанные не на SQL могут самостоятельно выполнять SQL-запросы, а могут и не выполнять. Все более широкое использование сохраняемых процедур привело к появлению процедурных элементов в языке SQL стандарта SQL:1999 и SQL: 2003 в части SQL/PSM. Это сделало SQL императивным языком программирования. Большинство СУБД предлагают собственные проприетарные и расширения производителя, сверх SQL/PSM.

  1. Встроенный sql.

Язык SQL используется для доступа к базам данных не только в интерактивном режиме, но и в прикладных программах. В следующих трех главах описываются особенности программного SQL. В главе 17 рассматривается встроенный SQL — разновидность программного SQL, наиболее широко применяемая в реляционных СУБД. В главе 18 описывается динамический SQL — Усовершенствованная форма встроенного SQL; с его помощью создаются утилиты общего назначения для работы с базами Данных. И наконец, в главе 19 рассматривается альтернативная Разновидность программного SQL— интерфейс вызовов функций, применяемый в нескольких популярных СУБД.  Язык SQL можно использовать для доступа к базам данных в двух режимах, прц интерактивной работе и в прикладных программах. По большей части сам язык одинаков в обоих вариантах. Эта двойственность SQL имеет несколько преимуществ.  программисты могут относительно легко научиться писать программы, которые в ходе своей работы обращаются к базам данных;  все возможности, доступные в интерактивном языке запросов, автоматически доступны и в прикладных программах;  инструкции SQL, предназначенные для использования в программах, вначале могут быть проверены в интерактивном режиме, а затем вставлены в исходный  I     текст программы;  ?    программы могут работать с базами данных на уровне таблиц и результатов за­просов.