Есть ли способ в MySQL создать хранимую процедуру из другой хранимой процедуры?MySQL Создать хранимую процедуру в другой хранимой процедуре
Мы регулируем обновление базы данных, используя временную хранимую процедуру, которая проверяет версию базы данных в таблице:
DELIMITER #
DROP PROCEDURE IF EXISTS sp_temp_update_table#
CREATE PROCEDURE sp_temp_update_table()
BEGIN
DECLARE v_db_version DECIMAL(10,6);
SELECT CAST(`value` AS DECIMAL(10,6)) INTO v_db_version
FROM `db_metadata` meta
WHERE meta.`key` = 'db_version';
IF(v_db_version < CAST('13.30' AS DECIMAL(10,6))) THEN
-- UPDATE STATEMENTS HERE
ALTER TABLE `foo` ADD COLUMN `bar` INT(10);
UPDATE `etl_metadata` SET `value` = '13.30' WHERE `key` = 'db_version';
SELECT CONCAT('13.30 Update Applied - Original db_version=', v_db_version);
ELSE
SELECT '13.30 Update Not Needed';
END IF;
END#
CALL sp_temp_update_table()#
DROP PROCEDURE IF EXISTS sp_temp_update_table#
DELIMITER ;
Теперь нам нужно обновить хранимую процедуру внутри этой процедуры.
Есть ли способ сделать это в MySQL?