0
这里是mycode用于在游标中读取15行......但是它读取一行而不读取15行这段代码中的任何错误.ANY帮助将提前我用cursor_loop:循环在sql存储过程中它没有读取所有15行只读取一行
delimiter $$
drop procedure if exists retrieve_relstr_roc_price;
create procedure retrieve_relstr_roc_price(
in p_begin_date datetime
)
begin
declare no_more_rows boolean;
declare l_symbol varchar(10);
declare l_commit_rows int default 60;
declare l_row_num int default 0;
declare roc_value_cursor cursor for
select * from(select distinct(symbol) as symbol from
eqt_price_ta_relstr where category_name in ((select * from (select
sn.category_name from eqt_price_ta_relstr ept
inner join sectornames sn on sn.symbol = ept.symbol where ept.category_name
= "SPsector" and ept.close_date >= p_begin_date group by sn.category_name order by ept.rank5 limit 0,1) t4 )) and close_date >= p_begin_date group by symbol order by rank5 limit 15) as t1;
declare continue handler for not found set no_more_rows = true;
open roc_value_cursor;
cursor_loop: loop
fetch roc_value_cursor
into l_symbol;
if no_more_rows
then
close roc_value_cursor;
leave cursor_loop;
end if;
/*next part code used the cursor value*/
使用列名而不是*,因为接收变量只有一个。 –
我尝试了使用列名称,但仍然获取一行。 –
游标查询是否实际返回15个元组? – wchiquito