MySQL的存储过程:输出参数?

这是一个存储过程,其中一个参数用于输入(IN),第二个参数用于输出(OUT)

mysql> delimiter //
mysql> create procedure Sp_SQRT(IN Number1 INT, OUT Number2 FLOAT)
   -> Begin
   -> set Number2=sqrt(Number1);
   -> end;
   -> //
mysql> delimiter ;

调用存储过程,并将该值发送到用户变量。语法如下

CALL yourStoredProcedureName(anyIntegerValue,@anyVariableName);

检查在变量@anyVariableName中存储了什么值。语法如下

SELECT @anyVariableName;

创建名为“ Sp_SQRT”的存储过程。查询如下调用存储过程

mysql> call Sp_SQRT(36,@MySquareRootNumber);

使用select语句检查变量@MySquareRootNumber的值

mysql> select @MySquareRootNumber;

以下是输出

+---------------------+
| @MySquareRootNumber |
+---------------------+
|                   6 |
+---------------------+
1 row in set (0.00 sec)