
- •Крещенко л.Ф. Мова sql
- •Навчальна програма дисципліни«Мова sql»
- •Методичні рекомендації до вивчення дисципліни Тема 1. Основи роботи з Microsoft sql| Server| 2005
- •1. Основні відомості про|із|sql|Server|2005 та принципи його роботи
- •Що таке sql Server 2005
- •Бази даних
- •Реляційні бази даних
- •2. Використання sql|Server|Management|Studio|
- •Створення|створіння|запитів
- •Тема 2. Створення і керування базою даних sql Server
- •1. Створення бази даних у середовищі ms sql Server 2005
- •Методи створення бази даних sql Server
- •Оператор create database
- •Керування базою даних sql Server
- •Видалення бази даних sql Server
- •Приклад створення і керування базою даних
- •Перегляд бази даних BookShopDb
- •Видалення бази даних за допомогою оператора drop database
- •2. Створення таблиць у базі даних та накладання обмежень
- •Визначення типів даних
- •Системні типи даних
- •Користувальницькі типи даних
- •Цілісність даних
- •Цілісність, обумовлена користувачем
- •Практична реалізація створення таблиць та забезпечення цілісності даних Перегляд існуючих таблиць, стовпців і їхніх типів даних
- •Створення таблиць і керування ними
- •Створення таблиць у базі даних sql Server
- •Реалізація обмежень, що забезпечують цілісність
- •Загальні відомості про обмеження, що забезпечують цілісність
- •Визначення можливості зберігання порожніх значень (null)
- •Визначення значень за замовчуванням (default)
- •Автоматична нумерація й стовпці з ідентифікатором (identity)
- •Створення стовпців з ідентифікатором
- •Властивість identity
- •Обмеження primary key
- •Створення обмежень primary key
- •Обмеження unique
- •Створення обмежень unique
- •Обмеження foreign key
- •Створення обмежень foreign key
- •Обмеження check
- •Створення обмежень check
- •Модифікація таблиць у базі даних sql Server
- •Видалення таблиці з бази даних sql Server
- •Створення таблиці Authors у базі BookShopDb
- •Створення таблиць BookAuthors і BookCondition у базі даних BookShopDb
- •Тема 3. Синтаксичні елементи мови Transact-sql
- •1.Ідентифікатори
- •Звичайні ідентифікатори
- •Ідентифікатори з обмежниками
- •2. Функції та інші конструкції мови
- •Убудовані функції
- •Функції одержання набору рядків
- •Агрегатні функції
- •Скалярні функції
- •Користувальницькі функції
- •Типи користувальницьких функцій
- •Детермінованість функцій
- •3. Типи даних та фирази
- •Коментарі
- •Приклади. Створення сценаріїв за допомогою синтаксичних елементів мови Transact-sql
- •Сценарії Trarisact-sql
- •Тема 4 Вибірка даних з бази даних sql Server
- •1. Основи оператора select
- •Конструкція select
- •Використання ключових слів у списку вибору
- •Ключове слово distinct
- •Ключове слово top n
- •Ключове слово as
- •Типи інформації в списку вибору
- •Конструкція into
- •Конструкція from
- •Конструкції where, group by і having
- •Конструкція group by
- •Обробка конструкцій where, group by і having
- •Конструкція order by
- •Витяг всіх даних з таблиці Titles
- •Одержання даних з певних стовпців таблиці Titles
- •Завдання умови, якій повинен відповідати результуючий набір
- •Угруповання даних у результуючому наборі
- •2.Витяг даних за допомогою з'єднань
- •Внутрішні з'єднання
- •Зовнішні з'єднання
- •Використання лівих зовнішніх з'єднань
- •Використання правих зовнішніх з'єднань
- •Використання повних зовнішніх з'єднань
- •3.Визначення підзапитів усередині операторів select
- •Типи підзапитів
- •Підзапити із ключовими словами in або not in
- •Підзапити з операторами порівняння
- •Підзапити із ключовими словами exists і not exists
- •Узагальнення даних
- •Узагальнення даних за допомогою оператора cube
- •Узагальнення даних за допомогою оператора rollup
- •Приклади
- •Одержання даних за допомогою повного зовнішнього з'єднання
- •Тема 5. Модифікація даних у базах даних sql Server
- •1. Додавання даних у бд sql Server
- •Додавання даних за допомогою оператора insert
- •Insert [into] таблиця_або_відображення
- •Додавання даних за допомогою оператора insert...Values
- •Додавання даних за допомогою підзапиту select
- •Додавання даних за допомогою оператора select...Into
- •Додавання у вставлені рядки даних типу ntext, text і image
- •Додавання даних за допомогою операцій масового копіювання
- •2. Модифікація даних у бд sql Server
- •Модифікація даних за допомогою оператора update
- •Модифікація даних за допомогою конструкції set
- •Модифікація даних за допомогою конструкції where
- •Модифікація даних за допомогою конструкції from
- •Модифікація даних за допомогою api і курсорів
- •Модифікація даних типу ntext, text і image
- •3. Видалення даних із бд sql Server
- •Видалення даних оператором delete
- •Видалення даних за допомогою api і курсорів
- •Видалення даних за допомогою оператора truncate table
- •Практичні приклади модифікації даних у бд sql Server
- •Тема 6. Збережені процедури
- •1. Основні відомості про збережені процедури
- •Продуктивність
- •Можливості програмування
- •Безпека
- •2. Операції зі збереженими процедурами
- •Збереження процедури
- •Методи створення збережених процедур
- •Передача контексту збереженій процедурі
- •Виконання збереженої процедури
- •Виклик збереженої процедури
- •Визначення параметрів і їхніх значень
- •Модифікація збереженої процедури
- •Видалення збереженої процедури
- •Приклади роботи зі збереженими процедурами
- •Приклади програмування збережених процедур
- •Тема 7. Створення|створіння|тригерів|трігерів|і керування ними
- •1. Створення|створіння|тригерів|трігерів|за допомогою мови|язика|transact-sql|
- •Конструкція on|
- •Конструкції for|, after|і instead|of|
- •Конструкція as|
- •Управління тригерами|трігерами|
- •Зміна і перейменування тригерів
- •Перегляд|проглядати|, видалення|віддалення|і відключення тригерів|трігерів|
- •2. Програмування тригерів|трігерів| Псевдотаблиці Inserted|і Deleted|
- •План практичних занять Практичні заняття 1,2 (4 години)
- •Перелік завдань для модуля
- •Індивідуальні завдання для самостійної роботи студентів
- •Порядок і критерії оцінювання знань студентів
- •Перелік питань для підготовки до поточного модульного контролю
- •Розподіл балів, що отримають студенти за результатами вивчення дисципліни «Мова sql»
- •Система нарахування балів за видами навчальної роботи
- •Список рекомендованої літератури
Методи створення збережених процедур
SQL
Server надає простий механізм для створення
збережених процедур. Для цього необхідно
скористатися або вікном ObjectExplorerабо вікномTemplateExplorer.
В обох випадках система запропонує
користувачеві зразок коду створення
збереженої процедури, який необхідно
доробити у відповідності до вимог
створення процедури.
Оператор CREATE PROCEDURE
Оператор CREATE PROCEDURE(або його скорочена версіяCREATE PROC) призначений для створення збережених процедур за допомогою редактору запитів або утиліт командного рядка, наприклад osql.CREATE PROCдозволяє виконувати наступні завдання:
визначати згруповані збережені процедури;
визначати вхідні й вихідні параметри, їхні типи даних і значення за замовчуванням. Визначення параметра завжди починається зі знака «at»(@), після якого треба вказати ім'я параметра й опис його типу даних. В описі вихідних параметрів повинне бути присутнім ключове словоOUTPUT, що дозволяє відрізнити їх від вхідних параметрів;
виводити відомості про успішне або невдале завершення завдання;
управляти хешуванням плану виконання процедури;
шифрувати вміст збереженої процедури для забезпечення її безпеки;
контролювати режим виконання процедури для передплатника реплікації;
задавати дії, які виконує процедура під час виконання.
Передача контексту збереженій процедурі
Всі збережені процедури, крім тимчасових, завжди створюються в поточній базі даних. Тому перед створенням процедури варто вибирати поточну базу даних за допомогою оператора USE ім'я_бази_даних, після якого зазначається пакетна командаGO. Для вибору поточної бази даних також використовують список, що розкривається на панелі інструментів.
Перший пакет показаного далі сценарію робить базу даних Pubsпоточної й створює процедуруListAuthorNames, власником якої єdbo:
USE Pubs
GO
CREATE PROCEDURE [dbo].[ListAuthorNames]
AS
SELECT [aiLfnanie], [au_lnarne] FROM [pubs], [dbo]. [authors]
Зверніть увагу, що тут використовується повне ім'я процедури, Повне ім'я збереженої процедури складається з імені власника процедури (у цьому випадку dbo) і імені самої процедури - ListAuthorNames. Якщо процедуру варто виконувати незалежно від власника таблиці або бази даних, власником процедури повинен бутиdbo. При використанні оператораCREATEPROCEDUREім'я бази даних не входить у повне ім'я збереженої процедури.
Виконання збереженої процедури
Як уже говорилося раніше, збережену процедуру можна виконати в редакторі запитів, просто набравши її ім'я з необхідними параметрами. Наприклад, для перегляду вмісту збереженої процедури ви набирали sp_helptext і ім'я потрібної процедури, що у цьому випадку є параметром.
Якщо збережена процедура не є першим оператором пакета, то для запуску збереженої процедури необхідно випередити її ім'я ключовим словом EXECUTE(або його скороченою версією -EXEC).
Виклик збереженої процедури
Для виклику збереженої процедури досить указати її повне ім'я, наприклад [ім'я__6ази_даних].[власник]. [ім'я_процедури]. Якщо ви зробите базу даних, у якій утримується збережена процедура, поточною (USE ім'я_бази_даних), то для виклику процедури досить указати частину імені:[власник].[ім'я_процедури], а якщо ім'я процедури унікально в активній базі даних, то можна використати просто[ім'я_процедури].
При виконанні системних збережених процедур із префіксом sp_, а також локальних і глобальних процедур не обов'язково використовувати повні імена. SQL Server буде шукати в базі данихMasterбудь-яку збережену процедуру із префіксомsp_,власником якої єdbo. Якщо ви все-таки вирішили привласнити локальній і системній процедурам однакові імена, обов'язково вкажіть у першому випадку ім'я власника, відмінне відdbo. SQL Server не виконує пошук розширених збережених процедур у базі данихMasterавтоматично. Тому треба або вказувати повне ім'я розширеної збереженої процедури, або зробити активної базу даних, у якій вона перебуває.