この記事では、例を使用して、MySQL ストアド プロシージャでの if ステートメントの使用方法を説明します。ご参考までに、詳細は以下の通りです。 MySQL の IF ステートメントを使用すると、特定の条件または式の値の結果に基づいて一連の SQL ステートメントを実行できるため、MySQL でテキスト、変数、演算子、さらには関数と組み合わせることができる式を作成する必要があります。式は、TRUE、FALSE、NULL の 3 つの値のいずれかを返すことができます。文法構造を見てみましょう: IF式THEN 声明; 終了の場合; 上記の式が TRUE と評価された場合、ステートメントが実行され、それ以外の場合は制御フローは END IF の後の次のステートメントに渡されます。 IF ステートメントの実行プロセスを見てみましょう。 IF ELSE ステートメントの構文を見てみましょう。 IF式THEN 声明; それ以外 else ステートメント; 終了の場合; ここで、IF ELSE ステートメントの実行プロセスを見てみましょう。 複数の式に基づいて条件付きでステートメントを実行する場合は、IF ELSE IF ELSE ステートメントを使用します。その構文構造は次のとおりです。 IF式THEN 声明; ELSEIF elseif式 THEN elseif ステートメント; ... それ以外 else ステートメント; 終了の場合; 式が TRUE と評価された場合、IF ブランチ内のステートメントが実行されます。式が FALSE と評価され、elseif_expression が TRUE と評価された場合、mysql は elseif-expression を実行し、それ以外の場合は ELSE ブランチ内の else-statements を実行します。具体的な実装プロセスを見てみましょう。 次に、IF ESLEIF ELSE ステートメントと GetCustomerLevel() ストアド プロシージャを使用して、顧客番号と顧客レベルの 2 つのパラメーターを受け入れます。まず、GetCustomerLevel() ストアド プロシージャは、顧客テーブルからクレジット限度額を取得する必要があります。次に、クレジット限度額に基づいて、顧客レベル (PLATINUM、GOLD、SILVER) を決定します。パラメータ p_customerlevel は顧客レベルを格納し、呼び出しプログラムによって使用されます。具体的な SQL を見てみましょう。 区切り文字 $$ CREATE PROCEDURE GetCustomerLevel( p_customerNumber int(11)では、 出力 p_customerLevel varchar(10)) 始める creditlim double を宣言します。 クレジット制限をクレジット制限に選択する お客様から ここで、顧客番号 = p_顧客番号; クレジット限度額 > 50000 の場合 p_customerLevel を 'PLATINUM' に設定します。 ELSEIF (creditlim <= 50000 AND creditlim >= 10000) の場合 p_customerLevel を 'GOLD' に設定します。 ELSEIF クレジット制限 < 10000 THEN p_customerLevel を 'SILVER' に設定します。 終了の場合; 終わり$$ 顧客レベルを決定するロジックのフローチャートは次のとおりです。 さて、今回の共有はこれですべてです。 MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL ストアド プロシージャ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、および「MySQL データベース ロック関連スキルの概要」 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
>>: Alibaba Cloud Centos7.X で外部にポートを開く方法
単一のテーブルを削除する: tableName から columnName = value を削除し...
<br />このタグを使用すると、画面上に水平線を表示して、ページのさまざまな部分を区切...
序文この記事では、Docker を使用して、ローカル コンピューターにインストールされている開発スイ...
序文springboot設定ファイルでは、設定ファイルの名前には独自の意味と用途があります。 dev...
1. Alibaba Cloudは、個人のニーズに応じて適切なクラウドサーバーを選択し、CPU、メ...
目次1.setInterval() 2.タイムアウトを設定する() 1.setInterval()指...
1. 水平中央公開コード: html: <div class="parent&quo...
前回の記事「Zen Coding: HTML/CSS コードを素早く記述する方法」を公開した後、一部...
今日、ブラウザの互換性の問題にいくつか遭遇しました。そのうちの 1 つは奇妙に感じました。Firef...
イベントの説明onactivate: オブジェクトがアクティブ要素として設定されたときに発生します。...
前面に書かれたLinux を使用する際にソフトウェアをインストールする必要がある場合があります。もち...
背景最近、面接でデータベース トランザクションについてよく質問されます。通常は、@Transacti...
序文前回の記事では、主にグリッドシステムの基本原理を学び、簡単なケースを通してその原理を実践しました...
3つのパラダイム1NF: フィールドは分離不可能です。 2NF: 主キーがあり、非主キー フィールド...
MySQL ROLE はどのような問題を解決しますか?プロフェッショナルな資質を持ち、権限管理に細心...