mysql 存儲過程,給分表批量添加字段及註釋

DROP PROCEDURE
IF EXISTS hanshuming;

delimiter $$


CREATE PROCEDURE hanshuming ()
BEGIN

DECLARE _SQL VARCHAR (8000) CHARSET utf8 ;
DECLARE i INT ;
SET i = 0 ;
WHILE i < 128 DO

IF i < 10 THEN

SET _SQL = CONCAT(
	'ALTER TABLE table_nam_00',
	i,
	' ADD column_name BIGINT (20) NOT NULL comment "註釋";'
) ;
ELSEIF i < 100 THEN

SET _SQL = CONCAT(
	'ALTER TABLE table_name_0',
	i,
	' ADD column_name BIGINT (20) NOT NULL comment "註釋";'
) ;
ELSE

SET _SQL = CONCAT(
	'ALTER TABLE table_name_',
	i,
	' ADD column_name BIGINT (20) NOT NULL comment "註釋";'
) ;
END
IF ;
SET i = i + 1 ;
SET @_SQL = _SQL ; 
insert into sql_table values(_SQL); --  記錄sql語句
PREPARE statm
FROM
	@_SQL ; EXECUTE statm ;
END
WHILE ; END$$

delimiter ; 


CALL hanshuming ();



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章