mysqlストレージ・プロシージャrepeatループ複数のテーブル名が似ているテーブルに同じフィールドを追加
1015 ワード
-- task
DELIMITER // -- //
drop procedure if exists taskAddFieldPro//
CREATE PROCEDURE taskAddFieldPro()
BEGIN
DECLARE tableName varchar(50) default '';
DECLARE done INT DEFAULT 0;
DECLARE taskCursor CURSOR FOR select table_name from information_schema.tables where table_schema='uc_ipcc_cloud_ai' and table_name like 'tb_ucpaas_task_run%';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN taskCursor;
REPEAT
FETCH taskCursor INTO tableName;
IF not done THEN
set @sql=concat('alter table ',tableName,' add cust_type char(1) DEFAULT NULL COMMENT "A/B/C/D/E/F"');
PREPARE stmt from @sql;
execute stmt;
END IF;
UNTIL done END REPEAT;
CLOSE taskCursor;
END
//
DELIMITER; --
CALL taskAddFieldPro();