単一のMySQLselectステートメントを使用してストアドプロシージャに2つの変数を設定するにはどうすればよいですか?
このために、最初にMySQLで新しいテーブルを作成しましょう
mysql> create table useProcedure - > ( - > Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, - > FirstName varchar(20), - > LastName varchar(20) - > ); Query OK, 0 rows affected (0.65 sec)
挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。
クエリは次のとおりです
mysql> insert into useProcedure(FirstName,LastName) values('Adam','Smith'); Query OK, 1 row affected (0.27 sec)
以下は、単一のselectステートメントを使用してストアドプロシージャに2つの変数を設定するためのストアドプロシージャです。ストアドプロシージャを作成するためのクエリは次のとおりです
mysql> DELIMITER // mysql> create procedure Sp_Demo() - > BEGIN - > declare one varchar(20); - > declare two varchar(20); - > select FirstName, LastName INTO one, two from useProcedure where id = 1; - > select one, two; - > END; - > // Query OK, 0 rows affected (0.26 sec) mysql> DELIMITER ;
CALLコマンドを使用してストアドプロシージャを呼び出します。
クエリは次のとおりです
mysql> call Sp_Demo();
以下は出力です
+------+-------+ | one | two | +------+-------+ | Adam | Smith | +------+-------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
-
MySQLで1回のストアドプロシージャ呼び出しを使用して、2つのテーブルに値を挿入します
以下は、ストアドプロシージャを使用して2つのテーブルに値を挿入するための構文です- DELIMITER // CREATE PROCEDURE yourProcedureName(anyVariableName int) BEGIN insert into yourTableName1(yourColumnName1) values(yourVariableName); insert into yourTableName2(yourColumnName2) values(yourVariableName); &nbs
-
DECLAREキーワードを使用してMySQLストアドプロシージャに変数を作成します
ストアドプロシージャの変数にMySQLDECLAREを使用する- DECLARE anyVariableName int DEFAULT anyValue; ストアドプロシージャで変数を作成するために、上記の構文を実装しましょう- mysql> DELIMITER // mysql> CREATE PROCEDURE variable_Demo() -> BEGIN -> DECLARE lastInsertedId int DEFAULT -1; -> select lastI