一,什麼是存儲過程?
正規定義:存儲過程是爲了完成特定功能的SQL語句集,經編譯創建並保存在數據庫中,用戶可通過指定存儲過程的名字並給定參數(需要時)來調用執行。存儲過程思想上很簡單,就是數據庫 SQL 語言層面的代碼封裝與重用。
就我個人來說,我覺得他與java中的方法有點類似,把一段代碼(邏輯)給封裝起來,然後供給給其他人調用。下面,先來看一段小例子,同時附上在navicat上使用存儲過程的例子。而且,存儲過程不同與普通的sql,存儲過程不管這個過程裏邊有多少條sql,它都只會打開一次連接,節省資源。
二,例子
1.點擊函數,新建函數,選擇創建一個過程。
2.選擇參數信息,模式,就是參數的類型,存儲過程參數有三種模式,in,out,inout,第一種是輸入,第二種是輸入,第三章是兩個的合體。名就是,這個參數的名字,會在寫sql的時候用到,類型,就是參數的類型。我這裏就是把一個名字叫做sid的字符串參數傳入進來。
3.編寫存儲過程的邏輯,我這裏是按輸入的id去查找對應的商品。注意,記得要寫輸入參數的長度,不然mysql會報錯。
4.保存存儲過程。這個時候,我們可以在外邊看到我們新建的存儲過程
5.測試調用
三,具體內容
1.in模式實例
略(上邊的實例就是in模式)
2.out模式實例
3.inout模式實例