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

MySQLストアドプロシージャ:パラメータを出力しますか?


これは、入力(IN)用に1つのパラメーター、出力(OUT)用に2番目のパラメーターを受け取るストアドプロシージャです。

mysql> delimiter //
mysql> create procedure Sp_SQRT(IN Number1 INT, OUT Number2 FLOAT)
   -> Begin
   -> set Number2=sqrt(Number1);
   -> end;
   -> //
Query OK, 0 rows affected (0.24 sec)
mysql> delimiter ;

ストアドプロシージャを呼び出し、値をユーザー変数に送信します。構文は次のとおりです

CALL yourStoredProcedureName(anyIntegerValue,@anyVariableName);

変数@anyVariableNameに格納されている値を確認してください。構文は次のとおりです

SELECT @anyVariableName;

「Sp_SQRT」という名前のストアドプロシージャを作成しました。ストアドプロシージャを呼び出すためのクエリは次のとおりです

mysql> call Sp_SQRT(36,@MySquareRootNumber);
Query OK, 0 rows affected (0.02 sec)

selectステートメントを使用して変数@MySquareRootNumberの値を確認します

mysql> select @MySquareRootNumber;

以下は出力です

+---------------------+
| @MySquareRootNumber |
+---------------------+
|                   6 |
+---------------------+
1 row in set (0.00 sec)

  1. MySQLストアドプロシージャで数学演算を実行しますか?

    ストアドプロシージャを作成しましょう。ここでは、量*量を計算しています。つまり、数学演算を実装しています- mysql> delimiter // mysql> create procedure calculation_proc(amount int,quantity int)      begin      select amount,quantity,(amount*quantity) as Total;      end      // Query OK,

  2. MySQLストアドプロシージャのテーブルにデータを挿入しますか?

    ストアドプロシージャのテーブルに挿入するための構文は次のとおりです- create procedure yourProcedureName(OptionalParameter)    begin    insert into yourTableName() values(yourValue1,yourValue2,...N); end 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table DemoTable1928    (    Id int NOT NUL