我在存储过程(2)中调用存储过程(1)。有没有办法传递(1)INTO参数(2)的值,以便我可以返回调用程序?谢谢。
答案 0 :(得分:1)
是。您可以将参数定义为 INOUT
或 OUT
。
这允许该过程将值传递回调用者。
作为一个简短示例,proc1
具有定义为INOUT和OUT的参数。在proc1
中将值分配给这些参数。
proc2
来电proc1
。 proc1
中设置的值可用于proc2
。
DELIMITER ;
CREATE PROCEDURE proc1(INOUT ua INT, OUT ob INT)
BEGIN
SET ua = ua + 1;
SET ob = 1;
END$$
CREATE PROCEDURE proc2()
BEGIN
DECLARE a INT;
DECLARE b INT;
SET a = 0;
SET b = 0;
CALL proc1(a,b);
SELECT a, b;
END$$
DELIMITER ;
CALL proc2();
a b
---- ----
1 1