mysqlはカーソルを作成します
カーソルはDECLAREステートメントで作成されます。 DECLARE はカーソルに名前を付け、必要に応じて WHERE およびその他の句を使用して、対応する SELECT ステートメントを定義します。たとえば、次のステートメントは、すべての注文を取得する SELECT ステートメントを使用して、ordernumbers という名前のカーソルを定義します。
入力:
create procedure processorders() begin declare ordernumbers cursor for select order_num from orders; end;
分析: このストアド プロシージャは、カーソルを定義して名前を付けるために使用されます。ここでは ordernumbers です。 ストアドプロシージャの処理が完了すると、カーソルが消えます(ストアドプロシージャ限定のため)。カーソルを定義したら、カーソルを開くことができます。
mysql カーソルのオープンとクローズ
カーソルは OPEN CURSOR ステートメントでオープンされます:
入力:
open ordernumbers;
分析: OPEN ステートメントの処理中にクエリが実行され、取得されたデータは参照とスクロールのために保存されます。
カーソル処理が完了したら、次のステートメントを使用してカーソルを閉じる必要があります:
入力:
close ordernumbers;
分析: CLOSE はカーソルによって使用されているすべての内部メモリとリソースを解放するため、各カーソルは使用されなくなったら閉じる必要があります。必要です。
カーソルを閉じた後は、再度開かないと使用できません。ただし、宣言されたカーソルを使用するために再度宣言する必要はなく、OPEN ステートメントでオープンするだけです。
暗黙的なクローズカーソルを明示的に閉じない場合、END ステートメントに到達したときに MySQL は自動的にカーソルを閉じます。
以下は、前の例の修正バージョンです:
入力:
create procedure processorders() BEGIN -- declare the cursor declare ordernumbers cursor for select order_num from orders; -- Open the cursor Open ordernumbers; -- close the cursor close ordernumbers; END;
分析: このストアド プロシージャは、カーソルを宣言、オープン、クローズします。ただし、取得したデータに対しては何も行われません。
以上がMySQL でのカーソルの作成と開閉に関するチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。