다른 저장 프로 시저 내에서 저장 프로 시저를 만드는 방법이 있습니까?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에서이 작업을 수행 할 수있는 방법이 있습니까?