您好,登錄后才能下訂單哦!
這篇文章主要介紹數(shù)據(jù)庫mysql存儲中的入?yún)⒊鰠⑹鞘裁矗闹薪榻B的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
入?yún)⒊鰠?/span>
語法: in|out|inout 參數(shù)名 數(shù)據(jù)類型 , ...
in 定義出參; out 定義入?yún)ⅲ?inout 定義出參和入?yún)ⅰ?/span>
出參in
使用出參in時,就是需要我們傳入?yún)?shù),在這里可以對參入的參數(shù)加以改變。簡單來說in只負責傳入?yún)?shù)到存儲過程中,類似Java中的形參。
delimiter // create procedure val_in(in val_name varchar(32)) begin # 使用用戶變量出參(為用戶變量賦參數(shù)值) set @val_name1 = val_name; end // # 調(diào)用函數(shù) call val_in('DK') // # 查詢該用戶變量 select @val_name1 //
入?yún)?/span>out
在使用out時,需要傳入一個參數(shù)。而這個參數(shù)相當于是返回值,可以通過調(diào)用、接收來獲取這個參數(shù)的內(nèi)容。簡單來說out只負責作返回值。
delimiter // # 創(chuàng)建一個入?yún)⒑统鰠⒌拇鎯^程 create procedure val_out(in val_id int,out val_name varchar(32)) begin # 傳入?yún)?shù)val_id查詢員工返回name值(查詢出的name值用出參接收并返回) select name into val_name from employee where id = val_id; end // # 調(diào)用函數(shù)傳入?yún)?shù)并聲明傳入一個用戶變量 call val_out(1, @n) // # 查詢用戶變量 select @n //
入?yún)⒊鰠nout
inout關鍵字,就是把in和out合并成了一個關鍵字使用。被關鍵字修飾的參數(shù)既可以出參也可以入?yún)ⅰ?/span>
delimiter // create procedure val_inout(in val_name varchar(32), inout val_age int) begin # 聲明一個a變量 declare a int; # 將傳入的參數(shù)賦值給a變量 set a = val_age; # 通過name查詢age并返回val_age select age into val_age from employee where name = val_name; # 將傳入的a與-和查詢age結果字符串做拼接并查詢出來(concat——拼接字符串) select concat(a, '-', val_age); end // # 聲明一個用戶變量并賦予參數(shù)為40 set @ages = '40' // # 調(diào)用函數(shù)并傳入?yún)?shù)值 call val_inout('Ziph', @ages) // # 執(zhí)行結果 # 40-18
以上是“數(shù)據(jù)庫mysql存儲中的入?yún)⒊鰠⑹鞘裁础边@篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。