同僚から、一時テーブルを使用して変数データを挿入して表示する方法を教わったことがありますが、この方法は面倒すぎる上、Mysql にはストアド プロシージャをデバッグするためのより優れたツールがありません。今日グーグルで調べたところ、デバッグにはselect + 変数名メソッドを使用できることがわかりました 具体的な方法: ストアド プロシージャに次のステートメントを追加します。 次に、mysql に付属の cmd プログラムを使用して、mysql> と入力します。 次のようなストアドプロシージャがあります CREATE PROCEDURE `p_next_id`(kind_name VARCHAR(30), i_length int, currentSeqNo VARCHAR(3), OUT o_result INT) 始める @a = NULL を設定します。 @b を NULL に設定します。 SELECT id INTO @a FROM t_seq WHERE number= currentSeqNo and length= i_length ; IF (@a is null ) THEN length = i_length の場合、@a FROM t_seq に min(id) を選択します。 番号を選択 INTO @b FROM t_seq WHERE id = @a;ELSE t_seq から @b に番号を選択します。WHERE id = @a+1; 終了の場合; @b を o_result に選択します。 終わり Navicat でストアド プロシージャを呼び出す
直接実行をクリックすると、ポップアップ入力ボックスに「t_factory」、「2」、「0」、「@result」と入力します。 ストアドプロシージャの実行手順のトレース MySQL には、Oracle のようなストアド プロシージャをデバッグするための plsqldevelper ツールがないため、実行プロセスを追跡する簡単な方法が 2 つあります。 デバッグ プロセスを記録するには、一時テーブルを使用します。ストアド プロシージャに select @xxx を直接追加し、コンソールで結果を表示します。 CREATE PROCEDURE `p_next_id`(kind_name VARCHAR(30), i_length int, currentSeqNo VARCHAR(3), OUT o_result INT) 始める @a = NULL を設定します。 @b を NULL に設定します。 SELECT id INTO @a FROM t_seq WHERE number= currentSeqNo and length= i_length; SELECT @a; IF (@a が null ) THEN length = i_length の場合、@a FROM t_seq に min(id) を選択します。 t_seq から @b に番号を選択します WHERE id = @a; @b を選択します; それ以外 t_seq から @b に番号を選択します。WHERE id = @a+1; 終了の場合; @b を o_result に選択します。 終わり これで、MySQL でストアド プロシージャをデバッグする最も簡単な方法についてのこの記事は終わりです。MySQL でストアド プロシージャをデバッグする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Nginx リバース プロキシから go-fastdfs へのケースの説明
>>: ページ内にマーキーとフラッシュが共存する場合の競合解決
時々、素敵なスクロールバー効果を見るのは楽しいものです。ここでは、CSSを使用してそれを実現する方法...
1. IPアドレスを設定する前に、まずifconfigを使用してネットワークカード情報を表示し、ネッ...
次のグラフは、100 個の異なる要素で iframe を作成するのにどれくらいの時間がかかるかを示し...
目次概要コンソールログコンソール.infoコンソール.警告コンソールエラーコンソールテーブルコンソー...
Centos7 のインストール時に VmWare がインターネットにアクセスできない場合はどうすれば...
2.1 セマンティクス化により、Webページが検索エンジンに理解されやすくなりますこの章では、We...
序文皆さんご存知のとおり、MySQL の運用・保守において、更新/削除条件が誤っているためにデータが...
序文ES6 で初めて導入された「構造化代入構文」を使用すると、配列やオブジェクトの値を異なる変数に挿...
目次チュートリアルシリーズ1. SQL言語の紹介と仕様2. データベース操作1. ライブラリを作成す...
目次ブール型数値型文字列型文字列と数値を連結する未定義およびnull配列型タプル型列挙型あらゆるタイ...
1. 準備1.1 Pythonインストールパッケージをダウンロードします(注:Pythonバージョン...
目次Vue ファースト スクリーン パフォーマンス最適化コンポーネント説明するインターセクションオブ...
Vue foreach配列を記述し、jsで配列をトラバースする方法シナリオVueでAxiosを使用し...
1. クエリを最適化するには、テーブル全体のスキャンを避けてください。まず、where と orde...
おすすめの読み物: MySQL 8.0.19 は、間違ったパスワードを 3 回入力するとアカウント ...