try:CREATE PROCEDURE `GetList`(In @aa int) BEGIN set @sql=concat('select * from hexinyu order by id desc limit 0,',@aa); prepare sqlstmt from @sql; execute sqlstmt; deallocate prepare sqlstmt; END; call getlist(10);
好像还是不行哦,MySql怎么这么麻烦呀
delimiter || CREATE PROCEDURE `GetList`(In aa int) BEGIN set @sql=concat('select * from hexinyu order by id desc limit 0,',aa); prepare sqlstmt from @sql; execute sqlstmt; deallocate prepare sqlstmt; set @sql = NULL; END||
这样写更好 set @sql = concat('select * from hexinyu order by id desc', ' limit ?, ?'); set @row = 0; set @size = @aa; PREPARE myStmt FROM @sql; EXECUTE myStmt USING @row, @size; DEALLOCATE PREPARE myStmt;
BEGIN
set @sql=concat('select * from hexinyu order by id desc limit 0,',@aa);
prepare sqlstmt from @sql;
execute sqlstmt; deallocate prepare sqlstmt;
END; call getlist(10);
CREATE PROCEDURE `GetList`(In aa int)
BEGIN
set @sql=concat('select * from hexinyu order by id desc limit 0,',aa);
prepare sqlstmt from @sql;
execute sqlstmt;
deallocate prepare sqlstmt;
set @sql = NULL;
END||
set @row = 0;
set @size = @aa;
PREPARE myStmt FROM @sql;
EXECUTE myStmt USING @row, @size;
DEALLOCATE PREPARE myStmt;