MySQL 存储过程:输出参数?
mysqlmysqli database
这是一个存储过程,它接受一个参数作为输入 (IN),第二个参数作为输出 (OUT)
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)