
- •Крещенко л.Ф. Мова 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»
- •Система нарахування балів за видами навчальної роботи
- •Список рекомендованої літератури
Визначення параметрів і їхніх значень
Якщо збереженій процедурі потрібні параметри, при виконанні процедури необхідно задати їхні значення. Визначення вхідних і вихідних параметрів починаються зі знака @, після якого треба вказати ім'я параметра і опис його типу даних. При виклику функції необхідно задати значення параметра і (не обов'язково) його ім'я. У наступних двох прикладах збережена процедураau_infoз бази данихPubsзапускається із двома параметрами -@lastnameі@firstname:
Викликати збережену процедуру з параметрами
USE Pubs
GO
EXECUTE au_info Green, Marjorie
Викликати збережену процедуру із вказівкою імен і значень параметрів
USE Pubs
GO
EXECUTE au_info @lastname = 'Green', @firstname = 'Marjorie'
У першому прикладі задані значення параметрів, а їхні імена опущені. Якщо значення параметрів задані без вказівки імен, то їхній порядок повинен збігатися з порядком, у якому були задані параметри при створенні процедури. У другому прикладі значення задані разом із вказівкою імен параметрів, у цьому випадку їхній порядок може бути довільним. Якщо під час створення процедури для її параметрів визначені значення за замовчуванням, то таку процедуру можна успішно виконати, не вказуючи значення параметрів. Нижче приводиться список деяких варіантів синтаксису при виконанні збережених процедур.
Збережена процедура повертає значення у цілочисленій змінній, певній для зберігання кодів повернення. У збереженій процедурі повинне бути присутнім ключове слово RETURNіз цілочисленим значенням (значеннями).
У збереженій процедурі визначені змінні для зберігання параметрів. Перед командою EXECUTEвизначаються змінні за допомогою ключового словаDECLARE.
Модифікація збереженої процедури
Оператор ALTER PROCEDURE(або його скорочена версіяALTER PROC) дозволяє модифікувати вміст користувальницької збереженої процедури за допомогою редактору запитів. Синтаксис оператораALTER PROCEDUREмайже повністю ідентичний синтаксисуCREATE PROCEDURE. Цінність застосування оператораALTER PROCEDUREзамість видалення й створення процедури «з нуля» полягає в тім, щоALTER PROCEDUREзберігає більшість властивостей процедури (наприклад, її ідентифікатор об'єкта, набір прав доступу і прапори).
Збережена процедура sp_renameдозволяє перейменовувати користувальницькі процедури. Наступний оператор перейменовує збережену процедуруByRoyaltyвRoyaltyByAuthor1:
USE PUBS
GO
EXECUTE sp_rename
@objname = 'byroyalty', @newname = 'RoyaltyByAuthorl',
@objtype = 'object'
В SQL Server Management Studioможна перейменувати користувальницьку збережену процедуру, клацнувши її правою кнопкою й вибравши командуRename.
При перейменуванні збережених процедур і інших об'єктів (наприклад, таблиць) слід дотримуватися обережності. Збережені процедури можуть бути вкладеними, і при виклику об'єкта вихідній збереженій процедурі не вдасться знайти його, якщо він перейменований.
Видалення збереженої процедури
Для видалення однієї користувальницької збереженої процедури, декількох процедур одночасно або набору згрупованих процедур використовують оператор DROP PROCEDUREабо його скорочену версіюDROP PROC. Видалимо з бази данихPubsдві процедури з іменамиProcedure01іProcedure02:
USE pubs
GO
DROP PROCEDURE procedure01, procedure02
Зверніть увагу, що база даних Pubs- поточна. При видаленні процедури не можна вказувати ім'я бази даних, повне ім'я процедури виглядає так:[власник].[ім'я_процедури].
Перш ніж видаляти збережену процедуру, варто перевірити, чи не залежать від неї будь-які інші об'єкти бази даних. Для перевірки наявності залежних об'єктів служить системна збережена процедура sp_depends. Джерелом проблем можуть стати тільки ті об'єкти, які залежать від процедури, що видаляється.