MySQL 存储过程传参之in, out, inout 参数用法
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                MySQL 存储过程传参之in, out, inout 参数用法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                
                            
                            
                            存儲過程傳參:存儲過程的括號里,可以聲明參數(shù)。 語法是 create procedure p([in/out/inout] 參數(shù)名 ?參數(shù)類型 ..)  in :給參數(shù)傳入值,定義的參數(shù)就得到了值 out:模式定義的參數(shù)只能在過程體內(nèi)部賦值,表示該參數(shù)可以將某個值傳遞回調(diào)用他的過程(在存儲過程內(nèi)部,該參數(shù)初始值為 null,無論調(diào)用者是否給存儲過程參數(shù)設(shè)置值) inout:調(diào)用者還可以通過 inout 參數(shù)傳遞值給存儲過程,也可以從存儲過程內(nèi)部傳值給調(diào)用者  
如果僅僅想把數(shù)據(jù)傳給 MySQL 存儲過程,那就使用“in” 類型參數(shù); 如果僅僅從 MySQL 存儲過程返回值,那就使用“out” 類型參數(shù); 如果需要把數(shù)據(jù)傳給 MySQL 存儲過程,還要經(jīng)過一些計算后再傳回給我們,此時,要使用“inout” 類型參數(shù)。?
 
存儲過程傳參 out [sql] view plaincopy
 
 
                        
                        
                        如果僅僅想把數(shù)據(jù)傳給 MySQL 存儲過程,那就使用“in” 類型參數(shù); 如果僅僅從 MySQL 存儲過程返回值,那就使用“out” 類型參數(shù); 如果需要把數(shù)據(jù)傳給 MySQL 存儲過程,還要經(jīng)過一些計算后再傳回給我們,此時,要使用“inout” 類型參數(shù)。?
- DELIMITER?$$??
- CREATE?PROCEDURE?p1(IN?num?INT)??
- BEGIN??
- ??DECLARE?i?INT?DEFAULT?0;??
- ??DECLARE?total?INT?DEFAULT?0;??
- ??WHILE?i<=num?DO??
- ????SET?total?:=?i?+?total;??
- ????SET?i?:=?i+1;??
- ??END?WHILE;??
- ??SELECT?total;??
- END$$??
存儲過程傳參 out [sql] view plaincopy
- CREATE?PROCEDURE?p2(OUT?num?INT)??
- BEGIN??
- ?SELECT?num?AS?num_1;??
- ?IF?(num?IS?NOT?NULL)?THEN??
- ?SET?num?=?num?+?1;??
- ?SELECT?num?AS?num_2;??
- ?ELSE??
- ?SELECT?1?INTO?num;??
- ?END?IF;??
- ?SELECT?num?AS?num_3;??
- END$$??
- SET?@num?=?10$$??
- CALL?p2(@num)$$??
- SELECT?@num?AS?num_out$$??
- CREATE?PROCEDURE?p3(INOUT?age?INT)??
- BEGIN??
- ??SET?age?:=?age?+?20;??
- END$$??
- set?@currage?=18$$??
- call?p3(@currage)$$??
- select?@currage$$??
轉(zhuǎn)載于:https://www.cnblogs.com/kabi/p/5903491.html
總結(jié)
以上是生活随笔為你收集整理的MySQL 存储过程传参之in, out, inout 参数用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 登陆问题
- 下一篇: 蛙字开头成语有哪些?
