Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Обычные (sp) и расширенные хранимые (xp) процедуры

sp_help<имя таблицы> - вывод структуры таблицы.

sp_depends<имя таблицы> - вывод объектов, зависимых от указан­ной таблицы.

sp_fkeys - вывод связей между таблицами через первичный и внешний ключи: @pktable_name=‘<имя таблицы с первичным ключом>’,

[, @fktable_name=‘< имя таблицы с внешним ключом>’]

xp_cmdshell‘<командная строка>’ ‑ выполнение командной строки

Пример. xp_cmdshell ‘dir d:\’ - вывод оглавления.

xp_sendmail ‑ отправка сообщения по электронной почте.

Пример отправки информации о сотрудниках.

xp_sendmail @reciients='[email protected]', --почтовый адрес

@query='Select * From Сотрудники', --запрос

@subject='SQL Server report', --форма представления

@message='Список сотрудников предприятия', --текст сообщения

@attach_result='True', @width=400 --прикрепление результата запроса

Основным средством реализации алгоритмов обработки данных яв­ля­ются хранимые процедуры, которые выполняются на сервере. При на­пи­са­нии этих процедур используются команды языка запросов Transact‑SQL.

Хранимая процедура создается/изменяется командой Transact‑SQL:

Create/AlterProc[edure] <имя процедуры> [;<номер варианта>]

[@<имя параметра> <тип параметра> [Varying]

[=<умалчиваемое значение>] [Output]],...

[With {Recompile | Encryption | Recompile, Encryption }] [For Replication]

As <команды Transact‑SQL>

Рассмотрим неочевидные параметры этой команды:

Varying ‑ параметр является курсором и полученные данные после соз­дания в процедуре динамического курсора передаются обратно.

Output ‑ значение параметра можно изменять в процедуре.

Recompile ‑ генерация плана выполнения процедуры при каждом вызове процедуры. Обычно не рекомендуется использовать этот параметр.

Encryption ‑ код процедуры хранится в база данных в шифрованном виде.

For Replication ‑ процедура применяется только при выполнении реплика­ции хранимых процедур.

Заготовку команды можно получить средствами Enterprise Manager.

Рассмотрим основные операторы, связанные с процедурами.

return[{<возвращаемое целое число> | 0} ] ‑ возвращение из процедуры.

Exec[ute] [@<имя переменной>=]<имя процедуры> [@<имя пара­мет­ра>=<зна­­че­ние> [,...]] ‑ вы­­полнение хранимой процедуры (с присвоением воз­вра­щае­мо­го процедурой значения переменной @<имя переменной>).

Drop Procedure<имя процедуры> [, <номер варианта>] ‑ удаление хра­ни­мой процедуры (если вариант не указан, то удаляются все варианты).

Пример создания хранимой процедуры вывода фамилий мало­опла­чи­­ваемых сотрудников по задаваемым в виде параметров значений гра­ни­цы зарплаты и кода специальности.

Из груп­пы Sto­red Procedures наж­мем кнопку New. Наберем текст процедуры (рисунок 4.3.7.1).

В процедуре Малоооплачиваемые специалисты используются два параметра @oklad типа small­money и @ks типа int. Перед именем пара­мет­ра указывается знак “@”, а после имени - тип параметра.

Кнопкой Check Syntax проверим синтаксис команды и сохраним про­це­дуру. Для выполнения этой процедуры вызовем из группы Microsoft SQL Server утилиту Query Analyzer, которая позволяет создавать, прове­рять, выполнять и сохранять (в виде текстового файла) команды языка зап­ро­сов Transact‑SQL.Подключимся к серверу Pleshev, вы­бе­рем базу Кадры и вве­дем команду запуска процедуры (рисунок 4.3.7.2).

 
 

Рисунок 4.3.7.1. Окно редактора хранимых процедур

 
 

Рисунок 4.3.7.2. Окно утилиты Query Analyzer




Поделиться с друзьями:


Дата добавления: 2014-12-10; Просмотров: 444; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.