程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql存儲過程—4、參數

MySql存儲過程—4、參數

編輯:MySQL綜合教程


MySql存儲過程—4、參數   相關鏈接: MySql存儲過程—1、SQL存儲過程的基礎知識 http://www.BkJia.com/database/201208/148790.html; MySql存儲過程—2、第一個MySql存儲過程的建立 http://www.BkJia.com/database/201208/148791.html; MySql存儲過程—3、變量 http://www.BkJia.com/database/201208/149069.html   1、參數分類 參數,同編程一樣,MySql中存儲過程也可以帶參數,前面的例子中我們沒有使用參數,在下面的例子中我們將使用到參數;MySql的參數分為三類:IN、OUT、INOUT,即使是字面上這三種類型的參數也很好理解:   www.2cto.com       ——IN:這是個默認的類型,也就是如果參數沒指定類型的話,那麼默認就是IN類型了,這種參數主要是傳遞進去的值,這個值提供給存儲過程使用,另外存儲過程對其做的改變不會對傳入的參數發生作用。       ——OUT:這個主要是存儲過程要傳遞出去的值,也就是存儲過程給你將它改變,並且傳回去給調用它的程序。     ——INOUT:則把上面兩個的特點合在一起了,即可以傳遞值給存儲過程使用,同時存儲過程也可以改變這個值在傳給調用它的程序。   2、參數定義   參數的定義如下:   MODE param_name param_type(param_size);   這裡MODE可以是IN、OUT、INOUT;param_name就是參數名稱;param_type則是類型。當然要注意的是名字不能和表格裡的字段重名。   看看下面的使用例子:   www.2cto.com  

  這個例子裡面,我們對存儲過程傳入了一個參數,這裡參數是個字符串,我們希望通過這個存儲過程來列出products表格中name字段中包含有傳入的字符串的記錄。這裡數據主要用途就是傳給存儲過程使用,所以使用IN。下面是對應的執行結果:     注意到傳遞給了GetAll這個存儲過程一個數據為“ca”的參數   在這個基礎上我們把記錄數作為存儲過程輸出給外部的數據來看一下OUT的使用。     上面把記錄數保持到輸出參數 totalNum中。     這裡使用一個會話變量作為輸出參數,存儲過程處理後,保持記錄速到@totalRecords中。然後我們運行select @totalRecords,輸出為2。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved