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)
-
MySQLストアドプロシージャで数学演算を実行しますか?
ストアドプロシージャを作成しましょう。ここでは、量*量を計算しています。つまり、数学演算を実装しています- mysql> delimiter // mysql> create procedure calculation_proc(amount int,quantity int) begin select amount,quantity,(amount*quantity) as Total; end // Query OK,
-
MySQLストアドプロシージャのテーブルにデータを挿入しますか?
ストアドプロシージャのテーブルに挿入するための構文は次のとおりです- create procedure yourProcedureName(OptionalParameter) begin insert into yourTableName() values(yourValue1,yourValue2,...N); end 上記の構文を理解するために、最初にテーブルを作成しましょう- mysql> create table DemoTable1928 ( Id int NOT NUL