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)

相关文章