Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки
Національний університет „Львівська політехніка”
Кафедра EОМ
Звіт
з лабораторної роботи № 4
з дисципліни: “ Організація баз даних”
Використання збережених процедур та синонімів для переливки даних між базами
2018
Тема: Використання збережених процедур та синонімів для переливки даних між базами
Мета: Отримати навики використання збережених процедур та синонімів
Завдання
На існуючому сервері створити ще одну базу даних із назвою <навзва_попередньої_>report
До щойно створеної бази даних додати 2 таблиці для збереження звітної інформації (Наприклад якщо у вас є база даних Supermarket із таблицями Products, Customers, Transactions потрібно створити ще одну базу Supermarket_report із таблицями Products_Report, Transactions_Report. Нові таблиці мають мати такий самий список колонок, що і попередні)
Створити збережену процедуру (stored procedure) із одним цілочисельним параметром. До створеної процедури додати код за допомогою якого дані будуть копіюватись з однієї бази у іншу. Придумати умову для переливання даних. Процедуру зберегти у базі даних, що використовувалась у попередніх лабораторних роботах. (Приклад виконання наведено нижче).
У базі даних <навзва_попередньої_>report створити синонім на попередньо створену збережену процедуру.
При захисті лабораторної роботи взяти індивідуальне завдання у викладача
Вибір варіанту:
№
Завдання
3.
База даних продуктового супермаркету
Хід роботи:
Код запиту що сторює таблиці для бази LAB1_report:
USE LAB1_report
GO
CREATE TABLE SECTION_report(SECTION_NUMBER INT PRIMARY KEY NOT NULL,
SECTION_NAME CHAR(20));
CREATE TABLE SHELVES_report(ID INT PRIMARY KEY NOT NULL,
SHELVE_NUMBER INT NOT NULL,
PRODUCT_NAME CHAR(20),
SECTION_NUMBER INT);
Код запиту що описує процедуру:
USE LAB1
GO
CREATE PROC BACKUPFORBASE
@KEY INT
AS
BEGIN
INSERT INTO LAB1_report.DBO.SECTION_report
SELECT * FROM LAB1.DBO.SECTION
WHERE SECTION_NUMBER < @KEY
INSERT INTO LAB1_report.DBO.SHELVES_report
SELECT * FROM LAB1.DBO.SHELVES
WHERE SHELVE_NUMBER < @KEY
END
GO
Код запиту створення синоніму:
USE LAB1_report
GO
CREATE SYNONYM BACKUPFORREPORT FOR LAB1.DBO.BACKUPFORBASE
GO
Код запиту виконнання процедури
USE LAB1_report
GO
EXEC BACKUPFORREPORT @KEY = 7
SELECT * FROM SECTION_report
SELECT * FROM SHELVES_report:
/
Рис.1. Результат виконнання процедури
Висновок: В даній лабораторній роботі я отримав навики використання збережених процедур та синонімів та створив власну процедуру і синонім для цієї процедури.