
1. Добавление данных (INSERT) в любую произвольную таблицу из БД кинотеатр

Создание процедуры lisaRezisoor на добавление нового режиссера в таблицу rezisoor

Вызов процедуры lisaRezisoor

Результат выполненной процедуры lisaRezisoor, добавлены новые данные в таблицу

Команда для добавления данных в таблицу rezisoor:
SET @p0='Christopher'; SET @p1='Nolan'; CALL `lisaRezisoor`(@p0, @p1);
2. Удаление записей в таблице žanr по введенному id

Создание процедуры zanrKustutamine на удаление записи в таблице zanr по id

Вызов процедуры zanrKustutamine

Результат выполненной процедуры zanrKustutamine, записи по ID (12) – удалены


Команда для удаления записей по ID в таблице zanr:
SET @p0='12'; CALL `zanrKustutamine`(@p0);
3. Удаление таблицы по введенному имени (таблица не должна содержать вторичного ключа)
Создание таблицы pilet (для теста процедуры удаления)

Создание процедуры drop_table на удаление таблицы

Вызов процедуры drop_table

Результат выполненной процедуры drop_table, таблица pilet – удалена


Команда для удаления таблицы по имени:
SET @p0=’pilet’; CALL `drop_table`(@p0);
4. Процедура на обновление (UPDATE) таблицы режиссёр

Создание процедуры на обновление таблицы

Вызов процедуры rezisoorUpdate

Результат выполненной процедуры rezisoorUpdate

SET @p0=’4′; SET @p1=’Stanley’; SET @p2=’Kubrick’; CALL `rezisoorUpdate`(@p0, @p1, @p2);
5. Процедура на изменение (ALTER) таблицы режиссёр
Создание процедуры на изменение таблицы (добавление или удаление столбца)

Вызов процедуры altertable

Результат выполненной процедуры altertable


Команда для изменение таблицы
SET @p0='add'; SET @p1='rezisoor'; SET @p2='test'; SET @p3='int'; CALL `altertable`(@p0, @p1, @p2, @p3);
6. Своя процедура с действием отличным от предыдущих
— Процедура, которая высчитывает и выводит общий доход от билетов для конкретного фильма —
Выбираем название фильма и доход (умножаем количество проданных билетов на цену билета)
Цена билета из таблицы kinokava и количество билетов из таблицы piletimyyk
- Связываем продажи билетов с расписанием по полю kinokavaID
- Связываем таблицу расписания с таблицей фильмов по filmID
- Фильтруем только нужный фильм по его ID, который передается в процедуру

Вызываем процедуру, вводим в поиск ID фильма

Результат выполненной процедуры otsiFilmiKogutulu, показывает доход с фильма Vabastatud Django

Команда для высчитывания дохода по ID фильма
SET @p0=’2′; CALL `otsiFilmiKogutulu`(@p0);
Добавление пользователя Opilane /пароль 12345, который может запускать процедуры/функции и видеть только те таблицы, которые отмечены в процедурах
Создаем пользователя Opilane с паролем 12345

Даем возможность просмотра данных в базе данных kinoteatrsmolina


Переходим к функциям/процедурам и даем право на запуск функций


— Проверяем, запустятся ли процедуры, если зайти на аккаунт Opilane —
Выходим из root и логинимся на Opilane

Функции/процедуры горят серым, запустить нельзя, но можно вызвать через SQL

Проверяем процедуру rezisoorUpdate через SQL, меняем имя режиссёра под ID 4 с “Stanley Kubrick” на “Steven Spielberg”


Результат – процедура работает, режиссёр под ID 4 поменялся

Проверяем процедуру altertable через SQL, добавляем в таблицу rezisoor столбец test2

Результат – процедура работает, столбец test2 добавился
