MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLストアドプロシージャで2つの値を宣言し、数学演算を実行する方法

MySQLストアドプロシージャで変数を宣言して演算を行う方法

MySQLのストアドプロシージャでは、DECLARE文を使ってローカル変数を宣言し、SET文で値を代入することができます。ここでは、2つの整数型の値を宣言し、その積(掛け算)を計算して表示するストアドプロシージャの作成手順を、サンプルコードとともに解説します。

1. ストアドプロシージャの作成

まず、delimiterコマンドでステートメントの区切り文字を変更し、ストアドプロシージャを作成します。

mysql> delimiter //
mysql> create procedure declare_demo_sp()
    begin
    declare Value1 int;
    declare Value2 int;
    set Value1=100;
    set Value2=2000;
    select Value1,Value2,Value1*Value2 as MultiplicationResult;
    end
    //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;

2. ストアドプロシージャの呼び出し

CALLコマンドを使用して、作成したストアドプロシージャを呼び出します。

mysql> call declare_demo_sp();

3. 実行結果

上記のコードを実行すると、以下のような出力が得られます。

+--------+--------+----------------------+
| Value1 | Value2 | MultiplicationResult |
+--------+--------+----------------------+
|    100 |   2000 |              200000 |
+--------+--------+----------------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)

コードのポイント解説

  • DECLARE:ストアドプロシージャ内で使用するローカル変数を宣言します。宣言はBEGINブロック内の先頭で行う必要があります。
  • SET:宣言した変数に値を代入します。この例では、Value1に100、Value2に2000を設定しています。
  • SELECT:各変数の値と、Value1 × Value2 の計算結果(100 × 2000 = 200000)を「MultiplicationResult」という別名で表示しています。

このように、ストアドプロシージャ内で変数を活用することで、複雑な計算処理や条件分岐をデータベース側で効率的に実行できるようになります。

  1. MySQLストアドプロシージャで数学演算を実行する方法

    MySQLのストアドプロシージャで計算処理を行うMySQLのストアドプロシージャを利用すると、金額×数量のような数学演算をまとめて定義し、必要なときに簡単に呼び出して実行できます。ここでは、引数として受け取った「amount(金額)」と「quantity(数量)」を掛け合わせて合計を求めるプロシージャを作成する手順を紹介します。ストアドプロシージャの作成まず、delimiter を変更してプロシージャ本体を定義します。以下の例では、amount と quantity の2つの INT 型引数を受け取り、その積を「Total」として表示します。mysql> delimiter // mys

  2. MySQLストアドプロシージャでDELIMITER(区切り文字)を正しく使って値を挿入する方法

    MySQLでストアドプロシージャを作成する際、DELIMITER(区切り文字)の扱いに戸惑う方は少なくありません。デフォルトではMySQLクライアントがセミコロン「;」を文の終端として解釈するため、プロシージャ内の複数のSQL文が途中で分割されてしまうことがあります。本記事では、区切り文字を正しく変更しながら、ストアドプロシージャを使ってテーブルへ値を挿入する具体的な手順を解説します。 1. サンプルテーブルを作成する まず、データを挿入するためのテーブルを作成します。ここでは学生の名前と姓を格納するテーブルを用意しました。 mysql> create table DemoTable