カーソルのmysql workbenchでprepared statementを使用しようとしています。カーソルは非常に大きなデータセット上で動作するので、何度も実行されます。 EXECUTEステップの新しい結果が表示されるたびにこれは結果的に開いている結果ウィンドウが多すぎるため、mysqlワークベンチがクラッシュする結果になります。私はこのような何かカーソルでワークベンチのmysql EXECUTEコマンドの結果出力を無効にする方法
:
PREPARE stmt2 FROM @eveningQuery;
EXECUTE stmt2;
DEALLOCATE PREPARE stmt2;
を通常、私は、クエリを沈黙が、EXECUTEする
set aVar = (EXECUTE stmt2);
ようなものを使用するには、そのように動作しません。
誰かがmysqlのEXECUTEコマンドの出力をどのように無効にできるか知っていますか?
注:私は、変数のデータを取得する方法を理解し、しかし、私がないようにしたいと、それはあまりにもループしたときにこれは、MySQL-ワークベンチをクラッシュさせます。この
のような結果の概要に表示されていることです多く。
編集 @eveningQueryの例が尋ねられたためです。
SETの@eveningQuery = CONCAT( 'セレクト@resultNm:= tb_SplitDayからidSplitBillを選択し(存在する場合idSplitBill ='、idSplitBillVar、 'と'、@columnNameEv、 '= 1とsoftdelete = 0)')。
idSplitBillVar =カーソルからのIDです。 @columnNameEv =私が可変的に埋めている列。
質問がありましたので、私はこの情報を追加しましたが、もっとも単純なクエリでも問題はまだ残っているため、私の意見では問題にはなりません。プリペアドステートメントを実行すると、出力結果が得られます。私はこの動作を無効にしたいだけです。
ちょうどニックピッキングですが、「カーソル」ではなく「ストアドプロシージャ」を意味しましたか? – RandomSeed
ご意見ありがとうございます。それはストアドプロシージャで定義されたカーソルですが、私は問題を非常に変更するとは思わない。 –
@eveningQuery quaeryの例を表示できますか? – Devart