2016-01-19 111 views
0

我正在調用存儲過程(2)中的存儲過程(1)。有沒有辦法將(1)的值傳遞給(2)的參數,以便我可以返回到調用程序?謝謝。將存儲過程結果傳遞給參數

回答

1

是的。您可以將參數定義爲:INOUTOUT

這允許過程將值傳回給調用者。

作爲一個簡單示例,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 
相關問題