Мета: навчитися працювати з збереженими процедурами
Перейдемо до створення збережених процедур. Для роботи з збереженими процедурами
в браузері об'єктів необхідно виділити папку «Programmability (Программирование) / Stored Procedures (Хранимые процедуры)»вашої бази даних (Рис.4.1).
Рис.4.1
Створимо процедуру, яка обчислює середнє трьох чисел. Для створення нової збереженої процедури клацніть ПКМ на папці «Stored Procedures (Хранимые процедуры)» (Рис.4.1) і в меню оберіть пункт «New Stored Procedure (Создать хранимую процедуру)». З'явитися вікно коду нової збереженої процедури (Рис.4.2).
Рис.4.2
Процедура має наступну структуру (Рис.4.2):
1. Область настройки параметрів синтаксису процедури. Дозволяє
настроювати деякі синтаксичні правила, використовувані при наборі
коду процедури. У нашому випадку це:
• SET ANSI_NULLS ON - включає використання значень (Пусто) в кодуванні ANSI,
• SET QUOTED_IDENTIFIER ON - включає можливість використання подвійних лапок для визначення ідентифікаторів;
2. Область визначення імені процедури (Procedure_Name) і параметрів
переданих в процедуру (@ Param1, @ Param2). Визначення параметрів
має наступний синтаксис:
@ <Ім'я параметра> <Тип даних> = <Значення за замовчуванням> Параметри розділяються між собою комами;
3. Початок тіла процедури, позначається службовим словом «BEGIN»;
4. Тіло процедури, містить команди мови програмування запитів TSQL;
5. Кінець тіла процедури, позначається службовим словом «END».
Зауваження: У коді зеленим кольором виділяються коментарі. Вони не обробляються
сервером і виконують функцію пояснень до коду. Рядки коментарів починаються з
підрядка «--». Далі в коді, ми не будемо відображати коментарі, вони будуть згорнуті.
Зліва від розділу з коментарями буде стояти знак «+», клацнувши по якому можна
розгорнути коментар.
Наберемо код процедури обчислює середнє трьох чисел, як це показано на
малюнку 4.3.

Розглянемо код даної процедури більш докладно (рис.5.3):
1. CREATE PROCRDURE [Середнє трьох величин] - визначає ім'я створюваної процедури як «Середнє трьох величин»;
2. @ Value1 Real = 0, @ Value2 Real = 0, @ Value3 Real = 0 -
визначають три параметри процедури Value1, Value2 і Value3. Даним
параметрами можна присвоїти дробові числа (Тип даних Real), значення
за замовчуванням рівні 0;
3. SELECT 'Середнє значення' = (@ Value1 + @ Value2 + @ Value3) / 3 -
обчислює середнє і виводить результат з підписом «Середнє значення».
Решта фрагменти коду розглянуті вище (Рис.4.2).
Для створення процедури, виконаємо вищеописаний код, натиснувши кнопку (Виконати) на панелі інструментів. У нижній частині вікна з кодом з'явитися повідомлення «Command (s) completed successfully.». Закрийте вікно з кодом, клацнувши мишею по кнопці закриття, розташованої у верхньому правому куті вікна з кодом процедури.
Перевіримо працездатність створеної процедури. Для запуску збереженої процедури необхідно створити новий порожній запит, натиснувши на кнопку (Новий запит) на панелі інструментів. У вікні з порожнім запитом наберіть команду EXEC [Середнє трьох величин] 1, 7, 9 і натисніть кнопку на панелі інструментів (Ріс.4.4).
Ріс.4.4
У нижній частині вікна з кодом з'явитися результат виконання нової збереженої
процедури: Середнє значення 5,66667 (Ріс.4.4).
Тепер створимо збережену процедуру для відбору студентів з таблиці студенти
по їх «ПІБ». Для цього створіть нову процедуру, що зберігається, як це описано вище, і
наберіть код нової процедури як на малюнку 4.5.
Рис.4.5
Розглянемо код процедури «Відображення студентів по ПІБ» більш докладно (Рис.5.5):
1. CREATE PROCRDURE [Відображення студентів по ПІБ] - визначає ім'я створюваної процедури як «Відображення студентів за ПІБ»;
2. @ FIO Varchar (50) =''- визначають єдиний параметр процедури FIO. Параметру можна присвоїти текстові строки змінної довжини, довжиною до 50 символів (Тип даних Varchar (50)), значення за замовчуванням дорівнюють порожній рядку;
3. SELECT * FROM dbo.Студенти WHERE ПІБ = @ FIO - відобразити все поля (*) з таблиці студенти (dbo.Студенти), де значення поля ПІБ одно значенням параметра FIO (ПІБ = @ FIO).
Виконаємо вищеописаний код і закриємо вікно з кодом, як описано вище. Перевіримо працездатність створеної процедури. Створіть новий порожній запит. У вікні з порожнім запитом наберіть команду EXEC [Відображення студентів по ПІБ] 'Іванов А.І.' і натисніть кнопку на панелі інструментів (Ріс.4.6).

Рис.4.6
У нижній частині вікна з кодом з'явитися результат виконання збереженої
процедури «Відображення студентів по ПІБ» (Рис.4.6).
Завдання:
У своїй БД зробіть процедури за прикладом.
Звіт з лабораторної роботи:
Звіт повинен містити:
- Тему, мету
- Номер варіанта
- Скріншоти БД
- Висновок