Ввод команд
Создадим
процедуру, которая будет находить
название категории и количество книг,
соотносящееся ей, по идентификатору
категории с помощью данных команд:
DELIMITER
//
CREATE
PROCEDURE catalog_book_count (IN cat_id INT, OUT cat_name TINYTEXT,
OUT book_count INT)
BEGIN
SELECT
catalog_name, COUNT(book_id) INTO cat_name, book_count FROM catalogs,
books WHERE catalog_ID = cat_id AND catalog_ID = book_catalog_ID;
END//
Вызовем
созданную процедуру для каталога с
идентификатором 3 (рис. 1):
Рис.
1. Результат работы процедуры
catalog_book_count
С
оздадим
процедуру, которая будет заполнять
новую таблицу old_editions,
в которую будут добавляться книги,
изданные до определенного года, который
необходимо указать. Сначала создадим
новую таблицу (рис. 2):
Рис.
2. Создание таблицы old_editions
З
атем
создадим процедуру old_eds
(рис. 3):
Рис.
3. Создание процедуры old_eds
В
ызовем
процедуру для 2000 года и проверим результат
работы (рис. 4):
Рис.
4. Результат работы процедуры old_eds
Выводы
В
данной работе было рассмотрено создание
и применение хранимых процедур в СУБД
MySQL.
Были созданы 2 хранимые процедуры для
базы данных books,
а также протестирована их работа.