10.2 Методические рекомендации для выполнения практических работ
Функции и хранимые процедуры
используются в SQL Server для реализации на
языке Transact-SQL сложных часто используемых алгоритмов обработки данных или
различных административных действий создания учетных записей, получения
информации об объектах базы данных, управления свойствами сервера и баз данных,
управления подсистемой репликации и автоматизации и т.д. Они хранятся в виде
исходного текста и являются программными модулями, существующими независимо от
таблиц или каких либо других объектов баз данных. Исключением являются
расширенные хранимые процедуры, которые хранятся в двоичном формате в виде
динамически подключаемых библиотек типа *.dll и создаются с помощью других языков
программирования с использованием интерфейса SQL Server Open Data Services API.
Такие процедуры подключаются, отключаются и выгружаются соответственно
командами sp_addextendedproc, sp_dropextendedproc и DBCC dlname (FREE), где dllno
me_имя dll_библиотеки.
Хранение функций и хранимых процедур в виде исходных модулей языка Transact
– SQL на сервере и в соответствующих базах данных позволяет уменьшить размр
запроса, посылаемого по сети от клиента на сервер, а следовательно и нагрузку на сеть,
что повышает общую производительность системы. Это также позволяет упростить
сопровождение программных комплексов и внесение изменений в исходный текст
модулей, причем большинство изменений не отразится на работоспособности
клиентских приложений.
Значительная часть функций и хранимых процедур поставляются в составе SQL
Server. Они называются системными, или встроенными (built - in). Кроме того,
пользователю предоставляется возможность разрабатывать и включать в свою базу
данных собственные, или пользовательские (user-defined) функции и хранимые
процедуры, реализующие специальные алгоритмы обработки данных. Таким образом,
пользовательские функции и хранимые процедуры становятся объектами той базы
данных, в которой они создавались. Поэтому при их создании, если необходимо,
требуемую базу данных следует сделать текущей с помощью команды USE имя базы
данных. Системные же функции хранятся на экземпляре сервера, а системные хранимые
процедуры – в базе master этого же экземпляра сервера.
В SQL Server можно создавать и так называемые временные хранимые процедуры
в базе данных tempdb экземпляра сервера, которые существуют лишь некоторое время,
после чего автоматически уничтожаются сервером. Они бывают локальными и
глобальными.
172
Достарыңызбен бөлісу: |