Вход

Хранимые процедуры: понятие, область применения, достоинства и недостатки

Реферат*
Код 98993
Дата создания 2016
Страниц 20
Источников 5
Мы сможем обработать ваш заказ 24 сентября в 9:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
850руб.
КУПИТЬ

Содержание

СОДЕРЖАНИЕ
Введение 3
1. Хранимые процедуры – основные понятия 4
2. Создание хранимых процедур 5
3. Изменение хранимых процедур 9
4 Выполнение хранимых процедур 10
5 Некоторые особенности и детали при использовании хранимых процедур 12
6. Расширенные хранимые процедуры 14
7. Ошибки. сообщения об ошибках 17
Выводы 20
Список использованной литературы 21

Фрагмент работы для ознакомления

Поскольку sp_hexstri ng — системная процедура, ее можно вызывать из любой базы данных, не вызывая напрямую процедуру xp_varb i ntohexst г.
7. ОШИБКИ. СООБЩЕНИЯ ОБ ОШИБКАХ
Любая среда программирования содержит целый набор инструментов, которые выдают информацию о ошибках работы с ней. Например, глобальная переменная @@ERR0R возвращает код ошибки последнего оператора Transact-SQL. Если никакой ошибки не произошло, @@ERR0R возвращает ноль. Поскольку @@ERR0R сбрасывается после каждого оператора Transact-SQL, необходимо сохранить ее значение в переменную, если предполагается использовать это значение в дальнейшем. Если программист пытается создавать устойчивый, работающий годами код, не переписывая его, то нужно проверять значение @@ERR0R
В своих хранимых процедурах, особенно после операций, связанных с модификацией данных, показателем хорошего кода является составление последовательной проверки ошибок. Поскольку Transact-SQL не поддерживает структурированную обработку исключений, проверка @@ERR0R часто есть лучший способ оградить себя от неожиданностей.
Системная процедура sp_addmessage позволяет добавить в таблицу sysmessages пользовательские сообщения, которые инициируются (с возвращением клиенту) командой RAISERROR. Пользовательские сообщения имеют номера ошибок (начиная с 50000). Как правило, системные сообщения SQL Server применяются для разработки программ с многоязыковым интерфейсом. Поскольку с добавлением сообщения с помощью sp_addmessage указывается идентификатор языка, можно добавить отдельную версию сообщений об ошибках для каждого языка, поддерживаемого вашим приложением. Тогда если хранимая процедура ссылается на сообщение по номеру, то сообщение будет возвращено в приложение в соответствии с текущими языковыми настройками SQL Server.
Хранимые процедуры совершают посылку сообщений про ошибки клиентским приложениям, применяя команду RAISEERROR. Она не имеет влияния на ход выполнения хранимой процедуры, а просто сообщает про установку соответствующего значения переменной ©ERROR и также записывает сообщение в журналы SQL Server и операционной системы. RA ISERR0R как правило ссылается на сообщения об ошибках, пользуясь таблицей sysmessages (в том числе и на добавленные туда с помощью процедуры sp_addmessage), или вы можете указать свое сообщение об ошибке. Если программист передает в RA ISERR0R свое сообщение, то номер ошибки будет 50000. Если программист инициирует ошибку, используя ее идентификатор из таблицы sysmessages, то переменной ©ERROR присваивается номер ошибки, соответствующий этому сообщению. В команде RAISERROR можно задать формат сообщения, как в функции PR I NTF() языка С, что позволяет вам задать аргументы для возвращаемых сообщений. В команде RA ISERR0R можно указать значение и для уровня, и для статуса ошибки. Значения уровня ошибки меньше 16 генерируют сообщения в журнале приложения (если включена запись в журнал).
Если указать параметр WIТН LOG, то информация об ошибке будет записана в журнал событий Windows (в случае если SQL Server работает под управлением операционных систем Windows NT, Windows 2000 или Windows ХР) и в журнал ошибок SQL Server, независимо от того был ли указан параметр WI TH_L0G при создании сообщения с помощью sp_addmessage. Если указать параметр WITH N0WAIT, то сообщение будет немедленно возвращено клиенту. С помощью опции WITH SETERR0R можно присвоить @@ERR0R номер последней произошедшей ошибки, несмотря на использованный в RAISERR0R уровень ошибки.
Максимальный уровень вложенных вызовов — 32. Для определения уровня вложенности из хранимой процедуры или триггера используется глобальная переменная @@NESTLEVEL. В случае применения пакета команд @@NESTLEVEL возвращает 0. Для хранимой процедуры, вызванной из пакета или триггера первого уровня, @@NESTLEVEL вернет 1. Для процедуры или триггера, вызванного из уровня 1, @@N EST LEVEL вернет 2 и т. д. Объекты (включая временные таблицы) и курсоры, созданные внутри хранимой процедуры, видимы также всем объектам, которые она вызывает. Объекты и курсоры, созданные в командном пакете, доступны всем объектам, на которые есть ссылки в пакете.
Так как Transact-SQL поддерживает рекурсию, можно создавать процедуры, которые вызывают сами себя. Напомним, что рекурсия — это способ решения задачи разбиением ее на более мелкие, к которым применяется тот же алгоритм. Чаще всего рекурсия применяется для решения вычислительных задач.
ВЫВОДЫ
В хранимых процедурах можно использовать такие элементы программирования, как параметры, переменные, коды , функции, значения по умолчанию, вложенные процедуры и курсоры. Входные параметры передают процедуре данные, а выходные параметры получают данные от хранимой процедуры. Переменные используются для хранения выходных параметров. Выходные параметры определяют с помощью ключевого слова OUTPUT. Коды возврата используются главным образом для обработки ошибок. Коды возврата передаются с помощью ключевого слова RETURN, после которого следует целое число. При вызове оператора RETURN происходит безусловный выход из программы. Затем код возврата используется в условных операторах для перехода к соответствующей ветви программы. Для обнаружения ошибок базы данных служит функция @@ERROR в совокупности с кодами возврата. Возникновения некоторых ошибок можно избежать, установив для параметров значения по умолчанию.
Хранимая процедура должна служить для решения какой-либо одной задачи. Хранимая процедура, которая вызывает сама себя, называется рекурсивной. Глубина вложенности процедур достигает 32 уровней. Мощной функцией SQL Server 2000 является возврат записей базы данных через курсоры. В хранимых процедурах можно создавать курсоры и вызывать их из исполняемой программы. Однако курсоры следует использовать только в случае крайней необходимости, поскольку неправильное их использование значительно влияет на производительность базы данных и сети.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Программирование объектов MS SQL Server 2008 R2. Хранимые процедуры и триггеры: методические указания к лабораторным работам по курсу «Проектирование баз данных» / В.В. Лавров, А.А. Бурыкин. Екатеринбург: УрФУ, 2013. 36 с.
Хендерсон К. Профессиональное руководство по SQL Server: хранимые процедуры, XML, HTML (+CD). — СПб.: Питер, 2005. — 620 с.:
Проектирование и реализация баз данных Microsoft SQL Server 2000. Учебный курс MCAD/ MCSE, VlCDBA/Пер с англ. — 2-е изд., испр. — М.: Издательско-торговый дом «Русская Редакция», 2003. – 546с..
Цвелой В.А .Разработка баз данных в среде MySQL: учебно-практическое пособие для студентов специальности 230103 «Автоматизированные системы обработки информации и управления» всех форм обучения / В.А. Цвелой. - Омск: АНО ВПО «Омский экономический институт», 2012. - 132 с.
Beck, Kent. Extreme Programming Explained: Embrace Change. Reading, MA: Addison-Wesley, 2000. C. 47. (Бек К. Экстремальное программирование. СПб.: Питер, 2002
17

Список литературы


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Программирование объектов MS SQL Server 2008 R2. Хранимые процедуры и триггеры: методические указания к лабораторным работам по курсу «Проектирование баз данных» / В.В. Лавров, А.А. Бурыкин. Екатеринбург: УрФУ, 2013. 36 с.
2. Хендерсон К. Профессиональное руководство по SQL Server: хранимые процедуры, XML, HTML (+CD). — СПб.: Питер, 2005. — 620 с.:
3. Проектирование и реализация баз данных Microsoft SQL Server 2000. Учебный курс MCAD/ MCSE, VlCDBA/Пер с англ. — 2-е изд., испр. — М.: Издательско-торговый дом «Русская Редакция», 2003. – 546с..
4. Цвелой В.А .Разработка баз данных в среде MySQL: учебно-практическое пособие для студентов специальности 230103 «Автоматизированные системы обработки информации и управления» всех форм обучения / В.А. Цвелой. - Омск: АНО ВПО «Омский экономический институт», 2012. - 132 с.
5. Beck, Kent. Extreme Programming Explained: Embrace Change. Reading, MA: Addison-Wesley, 2000. C. 47. (Бек К. Экстремальное программирование. СПб.: Питер, 2002
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала, который не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, но может использоваться в качестве источника для подготовки работы указанной тематики.
© Рефератбанк, 2002 - 2018