この記事では、例を使用して、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 で外部にポートを開く方法
目次Vueのレスポンシブシステムの基本原則1. Object.definePropertyの使い方を...
質問は https://www.zhihu.com/question/440231149 から参照さ...
目次1. 準備2. 展開プロセス3. アクセステストHalo は、ブログに慣れている学生に追加のオプ...
異なるデータベースで DROP TABLE を書く方法1.MySQL 存在する場合はテーブルを削除 ...
1. まず、お使いのマシンに応じて、MySQL 公式サイトから対応するデータベースをダウンロードしま...
1. Docker pullはイメージをプルします$ docker pull {IMAGE_NAME...
ダイアログをクロージャで使用し、右上隅の向こう側に閉じるボタンがあるダイアログを描画しました。ボタン...
目次識別子の長さ制限権限テーブルの範囲フィールドの長さ制限データベースとテーブルの数の制限テーブルサ...
序文「大規模なフロントエンド プロジェクト向け」に設計されたフロントエンド フレームワークである A...
1. docker.serviceファイルを編集する: : vi /usr/lib/systemd/...
目次1. イベント委任とは何ですか? 2. イベント委任の原則3. イベント委託の役割1. イベント...
ステップ 1: メモ帳を使用して、MySQL インストール ディレクトリの「my.ini」ファイルを...
MultiTail は、tail コマンド機能と同様に、複数のドキュメントを同時に監視するために使用...
前提: ストアド プロシージャは、毎日午後 10 時から午前 5 時まで 10 分ごとに実行されます...
目次アポロ コンフィギュレーション センターとは何ですか?アポロの特徴クライアントアーキテクチャアー...