MySQL 存儲過程參數IN OUT INOUT區別


MySQL 存儲過程參數IN OUT INOUT對比

一、IN

-- 創建測試存儲過程

delimiter //
create procedure p_in ( IN num int )
begin
    select num;
    set num=100;
    select num;
end;
//
delimiter ;

set @num=100;
call p_in(@num)

二、OUT

-- 創建測試存儲過程

delimiter //
create procedure p_out ( OUT num int )
begin
    select num;
    set num=100;
    select num;
end;
//

delimiter ;

set @num=100;
call p_out(@num)

三、INOUT

-- 創建測試存儲過程

delimiter //
create procedure p_inout ( INOUT num int )
begin
    select num;
    set num=100;
    select num;
end;
//
delimiter ;

set @num=100;
call p_inout(@num)

 總結:

IN 輸入參數

表示該參數的值必須在調用存儲過程時指定,在存儲過程中修改該參數的值不能被返回,為默認值

僅需要將數據傳入存儲過程,並不需要返回計算后的該值。

只能當做傳入參數

OUT 輸出參數

該值可在存儲過程內部被改變,並可返回

不接受外部傳入的數據,僅返回計算之后的值。

只能當做轉出參數

INOUT 輸入輸出參數

調用時指定,並且可被改變和返回

需要數據傳入存儲過程經過調用計算后,再傳出返回值

可當做傳入轉出參數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM