ホームページ  >  記事  >  データベース  >  MySQL でのカーソルの作成と開閉に関するチュートリアル

MySQL でのカーソルの作成と開閉に関するチュートリアル

巴扎黑
巴扎黑オリジナル
2017-05-18 14:35:024047ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。