Хранимые функции/процедуры - 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');
});

Объяснение кода листинга программы

  1. Установка соединения с базой данных: connection.query('call clear_db()', function(err){
  2. Если есть ошибка, выводим ее на консоль: if (err){               console.error('Error: ' + err.stack);
  3. Выводим сообщение о завершении подготовки базы данных: console.log('Database preparation completed');
  4. Функция clear_db() очищает базу данных, но ее код не представлен в данном примере.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.462 из 5