使用mysql也挺久了,但是對於mysql的儲存過程一直沒有研究過,最近得空看了一些資料,對儲存過程算是略有了解吧,下面就是學習過程中的一些心得體會了。
在正式介紹儲存過程之前我們需要知道什麼是儲存過程?
通過上述語句我們可以提煉以下幾點
1.儲存過程是特定功能sql語句的集合
2.儲存過程儲存在資料庫中
3.儲存過程只需要編譯一次
4.使用者可以通過儲存過程名稱呼叫儲存過程
對於儲存過程的這些特點我們暫時只需要了解,只需要知道什麼是儲存過程就行。
如何建立乙個儲存過程?其實並沒有那麼難,如果你平時會建立資料庫,資料表,那麼你就會建立乙個儲存過程。
語法如下:create procedure
過程名([[in|out|inout] 引數名 資料型別[,[in|out|inout] 引數名 資料型別…]]) [特性 ...] 過程體
語法中的各個名稱代表的含義暫時不需要全部理解,只需要知道有即可。我們直接來從例項中學習,下面就是乙個簡單的儲存過程的例項(以下操作均在mysql控制台中進行)。
看起來是不是很簡單,短短的幾行**就成功建立了乙個儲存過程。下面我們來逐行分析每行**。
use test:切換資料庫到test。
delimiter //:改變語句定界符,也就是結束符,預設為英文分號(;)
create procedure test():create procedure建立儲存過程固定的語法,test為需要建立的儲存過程的名稱
begin:儲存過程開始的識別符號
select * from test;:過程體,sql語句的集合,具體需要實現的功能
end:儲存過程結束的識別符號
//:結束符,證明你建立儲存過程已經完成
delimiter ;:把語句定界符切換回;
1.建立儲存過程之前首先必須選擇資料庫,也就是上述**中的use test,否則會提示你資料庫未選擇;
2.改變定界符(結束符),mysql控制台預設的定界符是分號,但是過程體中的sql語句會用到分號,導致建立過程提前結束並出錯,為了避免這種情況發生,我們在建立儲存過程之前首先需要要改變定界符,使用關鍵字delimiter即可,//即為變更後的定界符,也可以改為其他的,例如@@。
3.儲存過程名後面必須加括號,也就是create procedure test()中的test(),否則會報錯。
4.建立完成後記得使用delimiter把定界符再改回來,因為我們通常還是習慣以;作為定界符,當然你如果記得你更改的定界符,而且習慣使用它,不更改也行。
mysql 儲存過程(一)
遍歷庫中所有表,更新指定欄位為指定的值。有的表存在該欄位,有的則不存在 drop procedure ifexists update orgcode delimiter create procedure update orgcode in send system varchar 50 in uplo...
MYSQL儲存過程一
b 一 儲存過程 b 儲存過程是一組為了完成特定功能的sql語句集,經編譯後儲存在資料庫中,使用者通過指定的儲存過程的名字 並給出相關引數來執行它。b 二 優點 b 1 較快的執行速度。如果某一操作包含大量的sql語句或者分別被多次執行,那麼儲存過程比批處理的執行速度要快。因為儲存過程是預編譯的,在...
mysql儲存過程 MySQL儲存過程
在本節中,您將逐步學習如何在mysql中編寫和開發儲存過程。首先,我們向您介紹儲存過程的概念,並討論何時使用它。然後,展示如何使用過程 的基本元素,如建立儲存過程的語句,if else,case,loop,儲存過程的引數。下面每個教程都包含了易於理解的示例和詳細的說明。如果您瀏覽並學習所有教程,您可...