Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Збереження процедури




Безпека

Інше важливе призначення збережених процедур - підвищення безпеки за допомогою ізоляції й шифрування. Користувачам можна надати право на виконання збереженої процедури без безпосереднього доступу до об'єктів бази даних, з якими працює збережена процедура. Крім того, якщо збережену процедуру зашифрувати при створенні або модифікації, користувачам не вдасться прочитати команди Transact-SQL, складові процедуру. Ці функції безпеки дозволяють ізолювати від користувача структуру бази даних, що забезпечує цілісність даних і надійність бази.

2. Операції зі збереженими процедурами

Збережені процедури створюють, модифікують і видаляють за допомогою редактору запитів або середовища SQL Server Management Studio. Процедуру дозволяється створювати раніше об'єктів, на які вона посилається. Ця можливість називається відкладеним дозволом імен. Для створення процедур використовують ключові слова CREATE PROCEDURE.

Перед виконанням процедури варто задати значення всіх необхідних параметрів. Збережені процедури можна виконувати вручну або автоматично (при запуску SQL Server). Для виконання процедури служить ключове слово EXECUTE. Його можна опустити, якщо виконується процедура, що, складається з єдиного рядка або ім'я процедури є першим словом пакета.

Часто доводиться модифікувати створені збережені процедури, наприклад, щоб додати параметр або змінити ту або іншу команду. Модифікація процедури замість видалення й повторного створення «з нуля» дозволяє заощадити час, оскільки при модифікації зберігаються багато властивостей збережених процедур (наприклад, права доступу). Для модифікації процедур використовуються ключові слова ALTER PROCEDURE.

Для видалення процедур використовують ключове слово DROP. Процедуру можна видалити в SQL Server Management Studio, вибравши її і натиснувши клавішу DELETE. He варто видаляти процедуру доти, поки всі залежні від процедури об'єкти не будуть вилучені або модифіковані (щоб видалити залежність).

Під час створення процедури SQL Server перевіряє синтаксис складових її операторів Transact-SQL. При виявленні синтаксичної помилки SQL Server генерує повідомлення «syntax incorrect», і процедура не створюється. Якщо текст процедури проходить синтаксичну перевірку, то процедура зберігається, при цьому її ім'я і інша інформації (наприклад, автоматично згенерований ідентифікаційний номер) записується в таблицю SysObjects, а текст процедури - у таблицю SysComments поточної бази даних.

Оператор SELECT запитує ідентифікаційний номер збереженої процедури ByRoyalty з таблиці SysObjects бази даних Pubs:

SELECT [name], [id] FROM [pubs].[dbo].[SysObjects]

WHERE [name] = 'byroyalty'

 

Цей запит повертає результат, показаний у таблиці:

Name Id

Byroyalty 581577110

 

Наступний оператор SELECT за допомогою інформації з таблиці SysObjects (ідентифікаційного номера збереженої процедури ByRoyalty) виконує запит до таблиці SysComments:

SELECT [text] FROM [pubs].[dbo].[SysComments]

WHERE [id] = 581577110

 

Цей запит повертає вихідний текст збереженої процедури ByRoyalty, ідентифікаційний номер якої дорівнює 581577110.

Два показаних оператори SELECT можна об'єднати засобами ключового слова JOIN. Для простоти і ясності тут вони наведені окремо.

Для виводу вихідного тексту об'єкта (наприклад, незашифрованої збереженої процедури) краще використати системну збережену процедуру sp_helptext, оскільки при цьому повертається текст, розбитий на рядки. Ми вже використали збережену процедуру sp_helptext раніше.




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


Дата добавления: 2015-06-29; Просмотров: 508; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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