存储过程创建如下: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
可是明明存在啊
展开