
- •ЛЕКЦІЯ 11
- •План
- •Збережені процедури
- •Переваги використання
- •Збережені процедури існують незалежно від таблиць або яких-небудь інших об'єктів баз даних.
- •Типи збережених процедур
- •Задачі, що вирішуються під час створення збережених процедур
- •Синтаксис створення
- •Параметри синтаксису
- •Параметри синтаксису
- •Параметри синтаксису
- •Виконання збереженої процедури
- •Параметри синтаксису
- •Процедура без параметрів. Розробити процедуру для отримання назв і вартості товарів, придбаних Івановим
- •Процедура без параметрів. Створити процедуру для зменшення ціни товару першого сорту на 10%.
- •Процедура з вхідним параметром. Створити процедуру для отримання назв і вартості товарів, які
- •Для виклику процедури
- •Процедура з вхідними параметрами. Створити процедуру для зменшення ціни товару заданого типу відповідно
- •Процедура з вхідними параметрами і значеннями за умовчанням. Створити процедуру для зменшення ціни
- •Для звернення до процедури
- •Процедура з вхідними і вихідними параметрами. Створити процедуру для визначення загальної вартості товарів,
- •Для звернення до процедури
- •Створити процедуру для визначення загальної кількості товарів, придбаних фірмою, в якій працює заданий
- •Використовування вкладених процедур. Створити процедуру для визначення загальної кількості товарів, придбаних фірмою, в
- •Виклик процедури

ЛЕКЦІЯ 11
ТЕМА: Збережені процедури

План
1 Поняття збереженої процедури
2 Типи збережених процедур
3 Створення, зміна і видалення збережених процедур
4 Виконання збереженої процедури

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

Переваги використання
необхідні оператори вже містяться в базі даних;
всі вони пройшли етап синтаксичного аналізу і знаходяться у виконуваному форматі;
перед виконанням збереженої процедури SQL Server генерує для неї план виконання, виконує її оптимізацію і компіляцію;
збережені процедури підтримують модульне програмування;
збережені процедури можуть викликати інші збережені процедури і функції;
збережені процедури можуть бути викликані з прикладних програм інших типів;
збережені процедури виконуються швидше, ніж послідовність окремих операторів;
збережені процедури простіше використовувати.

Збережені процедури існують незалежно від таблиць або яких-небудь інших об'єктів баз даних.
Вони викликаються клієнтською програмою, іншою збереженою процедурою або тригером.
Розробник може управляти правами доступу до збереженої процедури, дозволяючи або забороняючи її виконання.

Типи збережених процедур
Системні збережені процедури
Призначені для користувача збережені процедури
Тимчасові збережені процедури
Локальні тимчасові збережені процедури
Глобальні тимчасові збережені процедури

Задачі, що вирішуються під час створення збережених процедур
визначення типу створюваної збереженої процедури;
планування прав доступу;
визначення параметрів збереженої процедури;
розробка коду збереженої процедури.

Синтаксис створення
<визначення_процедури>::=
{CREATE | ALTER } [PROCEDURE] і’мя_процедури [;номер]
[{@і’мя_параметра тип_даних} [VARYING ] [=default][OUTPUT] ][,...n]
[WITH { RECOMPILE | ENCRYPTION | RECOMPILE ENCRYPTION }]
[FOR REPLICATION] AS sql_оператор [...n]

Параметри синтаксису
CREATE PROCEDURE – дозволяє розмістити створювану збережену процедуру в конкретній базі даних;
Номер в імені – це ідентифікаційний номер збереженої процедури, однозначно визначаючий її в групі процедур;
Наявність ключового слова OUTPUT означає, що відповідний параметр призначений для повернення даних з збереженої процедури.

Параметри синтаксису
Ключове слово VARYING застосовується спільно з параметром OUTPUT, що має тип CURSOR. Воно визначає, що вихідним параметром буде результуюча множина.
Ключове слово DEFAULT є значенням, яке прийматиме відповідний параметр за умовчанням. (при виклику процедури можна не указувати явно значення відповідного параметра.)