xde*_*000 10 mysql sql stored-procedures
任何人都可以详细解释IN,OUT和INOUT参数之间的区别吗?
谢谢.
PS我正在使用MySQL 5.5
1. IN
mysql> CREATE PROCEDURE in_2(IN value INT )BEGIN SELECT value; SET value =100;SE
LECT value;END//
Query OK, 0 rows affected (0.00 sec)
mysql> SET @s =9//
Query OK, 0 rows affected (0.00 sec)
mysql> CALL in_2(@s)//
+-------+
| value |
+-------+
| 9 |
+-------+
1 row in set (0.00 sec)
+-------+
| value |
+-------+
| 100 |
+-------+
1 row in set (0.00 sec)
mysql> SELECT @s;
-> //
+------+
| @s |
+------+
| 9 |
+------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
2.OUT
mysql> CREATE PROCEDURE in_3(OUT value INT)
-> SET value=100//
Query OK, 0 rows affected (0.00 sec)
mysql> SET @x=56//
Query OK, 0 rows affected (0.00 sec)
mysql> CALL in_3(@x)//
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @x//
+------+
| @x |
+------+
| 100 |
+------+
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
嗯,在参数中从调用者那里接收数据。out 参数将数据推送到其调用者(按引用调用)。inout 参数同时执行这两个操作。如果没有更清楚地了解您想知道什么,我不确定如何使其更详细。