Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Хранимые процедуры






Пожалуй, хранимые процедуры и триггеры являются наиболее интересными объектами программирования для разработчика и полезными для пользователя. Разработчик может писать программы, которые будут выполняться на, возможно, удаленном компьютере, при этом «инициатива» по их запуску не всегда будет принадлежать человеку. Пользователь получит более дружественный интерфейс, по крайней мере, в части времени выполнения его задач.

Разработка комплекса программ (хранимых процедур) — это довольно перспективное направление развития программного обеспечения фирмы, поскольку хранимые процедуры могут содержать операторы, которые взаимодействуют с программным обеспечением, расположенным на сервере вне самой базы данных. Например, хранимая процедура может послать почтовое сообщение другому пользователю или запустить на сервере программу пользователя. Используя такие возможности SQL Server, можно создать на его основе сервер прикладных задач.

< $I[]хранимая процедура (Stored Procedure)> Хранимые процедуры (Stored Procedures) — это подпрограммы, работающие на сервере. Одним из результатов работы хранимой процедуры может быть возвращение таблицы подобно тому, как это делает представление. Как и обычная подпрограмма, хранимая процедура может принимать аргументы и возвращать значение. Как и обычная подпрограмма, хранимая процедура может просто обрабатывать данные, не возвращая никаких значений.

Замечание

Не следует считать, что хранимые процедуры являются чем-то более развитыми SQL-запросами или представлениями. Возвращение данных из процедуры посредством SELECT-предложения — это только один из способов возращения результатов работы хранимой процедуры и не более того.

Хранимые процедуры являются наиболее важной и широко рекламируемой особенностью SQL Server и представляют собой скомпилированные и сохраненные в базе именованные последовательности операторов Transact-SQL. Причем к операторам языка, используемым в процедурах, относятся не только инструкции типа SELECT, INSERT, UPDATE и т.д., но и такие операторы, как IF…ELSE, WHILE и др. Кроме того, в Transact-SQL, как в обычном языке используются переменные, операции и функции. Описание языка Transact-SQL — это тема отдельной книги, но мы уделим немного внимания и этому вопросу.

Любая база данных на SQL Server содержит хранимые процедуры, даже если разработчик базы не создал ни одной процедуры сам. Эти процедуры располагаются в системных базах данных (большей частью в master) и называются системными хранимыми процедурами < $I[]системная хранимая процедура (System Stored Procedure)>. В SQL Server имеется около пятисот процедур, многие их которых предназначены в основном для самой системы. Одно только их перечисление заняло бы половину этой книги.

Кроме того, что разработчикам (даже начинающим) баз данных полезно читать код хранимых процедур, написанный профессионалами, некоторые системные процедуры можно и нужно использовать. На рис. 21.1 отображен результат выполнения системной хранимой процедуры sp_helpdb — таблица со сведениями о базах данных SQL Server NATALI. На рис. 21.1 можно также видеть способ вызова процедуры. Впрочем, к этому мы еще вернемся.

Рис. 21.1

Результат выполнения системной хранимой процедуры sp_helpdb

Разработчики баз данных также могут создавать хранимые процедуры, которые подобно другим объектам хранятся вместе с базой данных.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.