Est-il possible de créer une procédure stockée à partir d'une autre procédure stockée dans MySQL?MySQL Créer une procédure stockée dans une autre procédure stockée
Nous gérons des mises à jour de base de données en utilisant une procédure stockée temporaire qui vérifie la version de base de données dans une table:
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 ;
Maintenant, nous avons besoin de mettre à jour une procédure stockée à l'intérieur de cette procédure.
Existe-t-il un moyen d'accomplir cela dans MySQL?