2011-08-10 9 views
0

ERROR -mysqlのカーソルの実行


SQL query: 

call cursorproc(
@p_out 
); 

MySQLは言ったエラー:ドキュメント

1329 - データなし - ゼロ行が取り出され、選択された、または処理


EXECUTING - ストアドストアと呼ばれるストアドプロシージャ

create procedure cursorproc(OUT p_out DECIMAL(10,2)) 
begin 

    declare l_salary, l_total DECIMAL(10,2); 

    declare cur_1 cursor for select line_distance from elements; 

    open cur_1; 

    set l_total = 0; 

    loop 

     fetch cur_1 into l_salary; 


     set l_total = l_total + l_salary; 

    end loop; 

    close cur_1; 

    set p_out = l_total; 

end; 

我々が欠けている、まさにこのまでの任意の解決策 - 正常に実行さCODE、以下の手順

call cursorproc (@p_out); 
select @p_out as temp; 

?これについての助けに感謝します。

答えて

1

データの読み取り中にデータセットの終わりをチェックする必要があります。 こちらの例をご覧ください - cursors

SELECT SUM(line_distance) INTO @var FROM elements; 
SELECT @var; 
-

また、私は開いたカーソルを避けるために、あなたをお勧めしたいです

関連する問題