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

存储过程创建如下:CREATEPROCEDUREclear_50message(tablenamechar(10))BEGINDECLAREid,bINT;DECLARE... 存储过程创建如下:
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
可是明明存在啊
展开
 我来答
华夏日长兴
2010-08-22 · TA获得超过9594个赞
知道大有可为答主
回答量:6305
采纳率:85%
帮助的人:3853万
展开全部
改成 call clear_50message ('posts_80')
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式