mysql ストアド プロシージャでは、カーソルはカーソルとも呼ばれます。これは、DBMS サーバーに保存されているデータベース クエリです。取得操作によって返される一連の結果です。通常、先に進むために使用されます。または取得したデータを逆方向に操作します。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
MySQL では、ストアド プロシージャまたは関数のクエリが複数のレコードを返す場合があり、単純な SELECT ステートメントを使用してデータの最初の行、次の行、または最初の 10 行を取得する方法はありません。を使用すると、カーソルを使用してクエリ結果セットからレコードを 1 つずつ読み取ることができます。カーソルは、マテリアルによってはカーソルと呼ばれることもあります。
カーソルの概要
1. カーソル: カーソルとも呼ばれ、DBMS サーバーに保存されているデータベース クエリです。 select ステートメントではなく、ステートメントによって取得された結果セットです。
2. 目的: 取得したデータに対して前方操作または後方操作を実行するため、主に画面上でデータをスクロールするユーザーなどの対話型アプリケーションに使用されます
3. 機能:
## をサポートしません。 #5. カーソルは Web ベースのアプリケーション (ASP、ASP.NET、ColdFusion、PHP、Python、Ruby、JSP など) ではあまり役に立ちません。ほとんどの Web アプリケーション開発者はカーソルを使用しません
6。使用方法:
カーソルを宣言します: DECLARE カーソル名 CURSOR FOR SELECT * FROM table_name; // データはまだ取得されていません-- MySQL游标的声明 DECLARE cursor_name CURSOR FOR select_statement -- SQL Server游标的声明 DECLARE cursor_name CURSOR FOR select_statement [FOR [READ ONLY | UPDATE {[co lumn_list]}]] -- Oracle游标的声明 DECLARE CORSOR cursor_name IS {select_statement}
-- MySQL打开游标 OPEN cursor_name -- SQL Server打开游标 OPEN cursor_name -- Oracle打开游标 OPEN cursor_name [param1 [, param2]]
-- MySQL游标获取数据 FETCH cursor_name INTO var1_name [, var2_name] ... -- SQL Server游标获取数据 FETCH NEXT FROM cursor_name [INTO fetch_list] -- Oracle游标获取数据 FETCH cursor_name {INTO : host_var1 [[INDICATOR] : indicator_var1] [, : host_var2 [[INDICATOR] : indicator_var2]] | USING DESCRIPTOR DESCRIPTOR}
-- MySQL关闭游标,会主动释放资源,所以不需要DEALLOCATE语句 CLOSE cursor_name -- SQL Server关闭游标和释放资源 CLOSE cursor_name DEALLOCATE cursor_name -- Oracle关闭游标,会主动释放资源,所以不需要DEALLOCATE语句 CLOSE cursor_name
以上がmysqlストアドプロシージャのカーソルとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。