存储mysql成功_我在mysql上的这个存储过程创建成功,但怎么不能用啊?

存储过程创建如下:CREATEPROCEDUREclear_50message(tablenamechar(10))BEGINDECLAREid,bINT;DECLAREiINTDEFAULT-1;DECLAREcur_2CURSORFORSELECTauthoridFROMtablenamegroupbyauthori...

存储过程创建如下:

CREATE PROCEDURE clear_50message(tablename char(10))

BEGIN

DECLARE id,b INT;

DECLARE i INT DEFAULT -1;

DECLARE cur_2 CURSOR FOR SELECT authorid FROM tablename group by authorid;

DECLARE CONTINUE HANDLER FOR NOT FOUND

SET b = 1;

OPEN cur_2;

REPEAT

FETCH cur_2 INTO id;

delete posts_99 as ps from tablename as ps,

(select message from tablename where authorid=id order by LENGTH(message)

desc limit 50,10000)

as ap

where ps.message = ap.message and authorid=id;

SET i = i + 1;

UNTIL b = 1

END REPEAT;

CLOSE cur_2;

select concat(i," authors had be deal") as dealresult;

END;

我想传入参数为表明,但是传入表名posts_80后执行出错,

[SQL] call clear_50message (posts_80)

[Err] 1054 - Unknown column 'posts_80' in 'field list'这是什么意思啊?

如果这样写call clear_50message('posts_80');他又出现表不存在

[Err] 1146 - Table 'ccnu_boya.tablename' doesn't exist

可是明明存在啊

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值