mysql存储过程 comment_mysql 存储过程comment后面加参数报错(解决办法)

该段代码定义了一个存储过程,用于批量修改cenmds数据库中yszx_qy和yszx_report开头的表中,非sys_id和requestSn列的注释。通过游标遍历information_schema.columns获取列信息,并结合yszx_col_to_comment表设置新的列注释,使用ALTER TABLE语句动态执行修改操作。

CREATE DEFINER=`root`@`%` PROCEDURE `yszx_addtest_columnComment`()

BEGIN

DECLARE t1 VARCHAR(32);

DECLARE t2 VARCHAR(32);

DECLARE t3 VARCHAR(255);

DECLARE a TEXT;

DECLARE s int DEFAULT 0;

DECLARE columns CURSOR FOR SELECT table_name, column_name FROM information_schema.columns

WHERE table_schema ='cenmds' AND (table_name LIKE 'yszx_qy%' OR table_name LIKE 'yszx_report%')

AND column_name != 'sys_id' AND column_name != 'requestSn' AND (column_comment IS null OR column_comment = '');

DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET s=1;

OPEN columns;

FETCH columns into t1,t2;

SELECT column_comment INTO t3 FROM yszx_col_to_comment WHERE column_name = t2 ORDER BY (id+0) DESC LIMIT 1;

while s <> 1 DO

set a = concat('ALTER TABLE ',t1,' MODIFY COLUMN ',t2,'VARCHAR(255) COMMENT ?');

PREPARE q from @a;

EXECUTE q using @t3;

DEALLOCATE PREPARE a;

FETCH columns into t1,t2;

end WHILE;

CLOSE columns;

END

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值