它让我害怕MYSQL中的语法游标。可以替代吗?
我发现了这种方式:
drop procedure if exists emp_performance;
delimiter #
create procedure emp_performance
(
in p_employee_id varchar(10)
)
begin
declare v_counter int unsigned default 0;
drop temporary table if exists tmp;
create temporary table tmp engine=memory select * FROM sup where id > p_employee_id;
-- do stuff with tmp...
select count(*) into v_counter from tmp;
-- output and cleanup
select * from tmp;
end#
delimiter ;
call emp_performance(2);
SELECT * FROM tmp; //return results
如果你有其他方法,或者你能找到我提出的错误/遗漏方法吗?