Хранимые функции/процедуры - MySQL
Формулировка задачи:
Добрый день.
Нахожусь в процессе освоения MySQL, в виду автоматизации процесса тестирования (Node.js, Selenium), которая влечет необходимость встраивать в автотесты SQL-запросы к БД.
Т.к. в тестах многократно используются одни и те же запросы (блоки запросов) к БД, возник вопрос создания хранимых процедур/функций. В мануалы не углубляюсь, т.к. это больше вопрос рефакторинга, и стоит не на первом месте, но все же.
Чем отличаются хранимые процедуры от функций? Что лучше использовать для создания реюзабельных кусков кода? Можно ли хранить созданные процедуры/функции локально, присваивая их в качестве значений переменных и вызывая их в нужных местах JS-кода? Т.е. создать package с набором таких переменных, в которых лежат все используемые процедуры/функции и require его в тестах?
Просто я плохо понимаю сам принцип работы этих хранимок. Мне представляется, это такие же функции, как обычные функции в ЯП. Но читаю отрывочно и вижу, что они должны храниться где-то в БД и как-то там вызываться.
Решение задачи: «Хранимые функции/процедуры»
textual
Листинг программы
connection.query('call clear_db()', function(err){ if (err){ console.error('Error: ' + err.stack); } console.log('Database preparation completed'); });
Объяснение кода листинга программы
- Установка соединения с базой данных:
connection.query('call clear_db()', function(err){
- Если есть ошибка, выводим ее на консоль:
if (err){ console.error('Error: ' + err.stack);
- Выводим сообщение о завершении подготовки базы данных:
console.log('Database preparation completed');
- Функция
clear_db()
очищает базу данных, но ее код не представлен в данном примере.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д