カーソル(カーソル)を使用します
1.カーソルを宣言
select_statementにFOR cursor_nameはCURSORを宣言
この文は、カーソルを宣言します。カーソルが複数のサブルーチンで定義されてもよいが、各ブロックのカーソルに一意の名前を持たなければなりません。カーソルを宣言した後、単一の操作ですが、INTO句持つことはできませんSELECTステートメントを使用することはできません。
2. OPEN cursor文
OPEN cursor_nameは
このステートメントは、以前に宣言したカーソルをオープンします。
3.カーソルがFETCHステートメント
VAR_NAME [、VAR_NAME] INTOカーソFETCH ...
指定されたオープンカーソルでこの文は、次の行(もしあれば次の行)を読み込み、カーソルポインタを進めます。
4.カーソルCLOSE文
CLOSE cursor_nameは
文は、以前に開かれたカーソルをクローズします。
あなたは多くの情報を書きますが、常に実行されません前から一瞬熟考した後、確認し、完全に正しいテストし、例を書きました。
以下は、カーソルループ更新操作の例を使用して、作成するストアドプロシージャです。
`my`()をCREATE PROCEDURE
ベギン
/ *ローカル変数定義されたDECLARE * /
援助BIGINTのデフォルト0を宣言する。
MDSL BIGINTのデフォルトの0を宣言する。
ストップint型のデフォルトの0を宣言する。
MDSLとして(SELECT COUNT(area_tb.id)FOR CURカーソルを宣言し、右subbranch_tb.i_subbran_area = area_tb.idにsubbranch_tbに参加area_tbからの補助としてarea_tb.id
ここarea_tb.i_record_status = 0とarea_tb.idによってsubbranch_tb.i_record_status = O基);
SQLSTATE「02000」SET停止=ヌルのハンドラを続ける宣言。
/ *カーソルをオープン* /
OPEN CUR;
/ *カーソルダウン一歩を行くために、値をチェックアウトするには、2つの*定義された2つの変数を支払っ/
MDSL、援助INTO CURをFETCH。
カーソル名は、最大追加するクエリおよび使用の明確である/ *ループ;分離数* /
WHILE DO(ストップがnullではありません)
更新はi_subbran_count = MDSLここID =補助セットarea_tb。
/ * *カーソル下のステップを取ります/
MDSL、援助INTO CURをFETCH。
ENDのWHILE;
CLOSE CUR;
終わり;
最後に、忘れてはいけない:データベース・ユーザーにストアドプロシージャを実行するために付与された権限を接続します
助成金は、「%」@「ユーザ名」に手順のyunzuche.myupdate上で実行します。
交換グループに参加するには、Java、Javaテクノロジのエンジニアの友人の1年から5年を仕事にようこそ:659 270 626は
、高可用性、高同時実行、高い性能と分散、JVMのパフォーマンスチューニングを持つJavaアーキテクチャグループ(春ソース内の無料学習教材を提供MyBatisの、ネッティー、Redisの、カフカ、Mysqlの、より多くの知識飼育係、Tomcatの、ドッカー、ダボ、nginxのとビッグデータインフラストラクチャデータ)自分の学習を強化するために自分の時間の毎分の使用の合理化、再利用しません彼のイデオロギーの怠惰を非表示にするには、「時間がありません」!若い、ハード戦い、自分の将来のアカウントを与えます!