MySQLストアドプロシージャでユーザー変数をどのように使用できますか?
MySQLストアドプロシージャでは、ユーザー変数はアンパサンド、つまり@で参照され、ユーザー変数名の前に付けられます。たとえば、@ A、@Bなどはユーザー変数です。それを実証するために、次の手順を作成しています-
mysql> DELIMITER // ; mysql> CREATE PROCEDURE Proc_Uservariables() -> BEGIN -> SET @A = 100; -> SET @B = 500; -> SELECT @A,@B,@A+@B; -> END // Query OK, 0 rows affected (0.00 sec) mysql> Delimiter ; // mysql> CALL Proc_Uservariables(); +------+------+-------+ | @A | @B | @A+@B | +------+------+-------+ | 100 | 500 | 600 | +------+------+-------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)
-
MySQLストアドプロシージャ内でSTARTトランザクションを実行するにはどうすればよいですか?
知っているように、STARTトランザクションはトランザクションを開始し、自動コミットモードをオフに設定します。次の例では、次のデータを持つテーブルemployee.tblに新しいレコードを挿入するSTARTトランザクションを使用してストアドプロシージャを作成しました- mysql> Select * from employee.tbl; +----+---------+ | Id | Name | +----+---------+ | 1 | Mohan | | 2 | Gaurav | | 3 |
-
MySQLストアドプロシージャは、その中の別のMySQLストアドプロシージャをどのように呼び出すことができますか?
MySQLストアドプロシージャがその中の別のMySQLストアドプロシージャを呼び出す可能性は十分にあります。これを示すために、ストアドプロシージャが別のストアドプロシージャを呼び出してlast_insert_idを見つける例を取り上げています。 例 mysql> Create table employee.tbl(Id INT NOT NULL AUTO_INCREMENT, Name Varchar(30) NOT NULL, PRIMARY KEY(id))// Query OK, 0 rows affected (3.87 sec) mysql> Create Proced