0
我正在調用存儲過程(2)中的存儲過程(1)。有沒有辦法將(1)的值傳遞給(2)的參數,以便我可以返回到調用程序?謝謝。將存儲過程結果傳遞給參數
我正在調用存儲過程(2)中的存儲過程(1)。有沒有辦法將(1)的值傳遞給(2)的參數,以便我可以返回到調用程序?謝謝。將存儲過程結果傳遞給參數
是的。您可以將參數定義爲: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