カーソルカーソルは、結果セット内のデータを表示または処理するために使用される方法です。カーソルを使用すると、結果セット内のデータを一度に 1 行以上前方または後方に移動する機能が提供されます。 カーソルの使い方カーソルを定義します。テーブルに対してカーソル名 CURSOR を宣言します。(テーブルは選択の結果セットにすることもできます) 始める #カスタム変数を宣言するdeclare c_stgId int; c_stgName varchar(50) を宣言します。 #カーソル終了変数を宣言します。declare done INT DEFAULT 0; #カーソル cr と、カーソルが結果セットを読み取った後の最終処理メソッドを宣言します。declare cr cursor for select Name,StgId from StgSummary limit 3; 見つからない場合の継続ハンドラを宣言し、done = 1 を設定します。 # カーソルを開く open cr; # ループ readLoop: LOOP # カーソル内の値を取得し、変数に割り当てます fetch cr into c_stgName,c_stgId; # カーソルが下端に到達したかどうかを判定します。到達した場合はカーソルを終了します。# この判定に注意してください IF done = 1 THEN readLoop を終了します。 終了の場合; c_stgName、c_stgIdを選択します。 ループ終了 readLoop; -- カーソルを閉じます close cr; 終わり 変数宣言ステートメントに関する注意:
カスタム変数の命名に関する注意: カスタム変数の名前は、カーソル結果セット フィールドの名前と同じにしないでください。同じ場合、変数へのカーソルの割り当ては無効になります。 一時テーブル一時テーブルは現在の接続でのみ表示されます。接続が閉じられると、MySQL は自動的にテーブルを削除し、すべてのスペースを解放します。したがって、異なる接続で同じ名前の一時テーブルを作成し、この接続に属する一時テーブルに対して操作を実行することができます。 一時テーブルStgSummary(を作成します 名前 VARCHAR(50) NOT NULL, StgId INT NOT NULL デフォルト 0 ); 一時テーブルの使用に関する制限
テーブル orig_name を変更して、新しい名前に変更します。
一時テーブルが存在する場合は削除します (StgTempTable)。 カーソル ループを使用してストアド プロシージャ内の一時テーブル データを読み取る始める ## 一時テーブルを作成する CREATE TEMPORARY TABLE if not exists StgSummary( 名前 VARCHAR(50) NOT NULL, StgId INT NOT NULL デフォルト 0 ); テーブル StgSummary を切り捨てます。 ## 一時テーブルデータを追加する INSERT INTO StgSummary(Name,StgId) 「一時データ」を選択、1 始める #カスタム変数は c_stgId int を宣言します。 c_stgName varchar(50) を宣言します。 完了を宣言 INT DEFAULT 0; select Name,StgId from StgSummary ORDER BY StgId desc LIMIT 3 の cr カーソルを宣言します。 見つからない場合の継続ハンドラを宣言し、done = 1 を設定します。 -- カーソルを開きます open cr; テストループ:ループ -- 結果を取得するには、cr を c_stgName、c_stgId に取得します。 完了 = 1 の場合 テストループを終了します。 終了の場合; c_stgName、c_stgIdを選択します。 END LOOP testLoop; -- カーソルを閉じます close cr; 終わり; 一時テーブルが存在する場合は削除します。StgSummary; 終わり; 最初に一時テーブルを作成し、カーソルを定義します。しかし、ストアド プロシージャは保存できません。 要約する以前、SQL Server ストアド プロシージャを書いたときは、この問題にあまり注意を払っていませんでした。変数はプログラムの途中で定義することが多く、MySQL を当然のこととして何気なく書いていたため、最終的に落とし穴に陥ってしまいました。両者の間には文法的な違いはほとんどありませんが、実際に違いに遭遇すると、かなり衝撃を受けます。しかし、長い間 SQL 文を書いていないので、少し鈍感になっています。ピットを素早く書き留めて、印象を深める方が良いです。 上記は、MySQL ストアド プロシージャでカーソル ループを使用して一時テーブルを読み取る方法の詳細です。MySQL カーソル ループを使用して一時テーブルを読み取る方法の詳細については、123WORDPRESS.COM の他の関連記事をご覧ください。 以下もご興味があるかもしれません:
|
>>: docker を使用して Kong クラスター操作を構築する
通常、清明節、国哀悼日、大地震の日、影響力のある偉人の死去または命日には、ウェブマスターとして、故人...
目次ネスティング親子コンポーネント通信ブラザーコンポーネント通信撤回するReact の Linked...
CSS メディア クエリには非常に便利なアスペクト比、aspect-ratio があり、幅と高さを直...
目次1. はじめに2. ユーザーテーブルを準備する2.1 グループ化ルール2.2 グループの使用2....
MySQL スロー クエリ (正式名称はスロー クエリ ログ) は、MySQL によって提供されるロ...
目次1. 制約の概念と分類2. 5つの制約の追加と削除2.1 制約を追加する6つの方法2.2 制約を...
目次1. V8ソース2. V8サービスターゲット3. V8の初期アーキテクチャIV. V8の初期アー...
今日、Baidu でページを検索したところ、ページが削除されていたため、当然 Baidu スナップシ...
pssh は、多数のマシンでのバッチ ssh 操作に使用される、Python で実装されたオープン ...
効果画像(境界線の色が薄すぎるので、{} で囲みます): { }参考リンク Pure CSS バブル...
px(ピクセル)ピクセルという言葉は皆さんもよくご存知だと思います。次に、この単位に関するちょっとし...
データ分析の分野では、データベースは私たちの強力な助けとなります。クエリ時間を受け入れるだけでなく、...
この記事では、ソシュールの言語哲学などの理論に基づいて、CSS の class 属性は不要であると主...
この記事では、参考までに、カルーセル効果の具体的なコードをJavaScript+CSSを使用して実装...
個人のウェブサイトがどんなに素晴らしいものであっても、サイバースペースの広大な海に浮かぶ小さなボート...