MySQL之存儲過程(三)

 

遊標:指針

selelect 字段名  into 變量名  from 表名;

注意: into 關鍵字後的變量要求先聲明;這句語法只能出現在存儲過程和觸發器中,不能單獨使用;字段的數量與類型,要和變量一致;只能針對一行;需要返回一個標題值。

如果搜索的結果集爲多條,那麼我們就要用到遊標了,要移動指針。

用遊標我們需要以下幾步:

1)  創建遊標

declare 遊標名稱  cursor for

        select 字段名  from 表名  where 條件

注意:聲明完成後並不會執行。

2)  打開遊標

open 遊標名稱

3)  獲取記錄

fetch 遊標名稱 into 變量名;

注意:這裏的變量名也是需要先聲明的,而且要與前面select語句的字段名保持一致。

4)  關閉遊標

close 遊標名稱;

現在知道了怎麼用遊標,但如果結果集是多條的話,直接使用,結果只是一條,是不會全部顯示的,所以我們還要用循環語句。關於循環語句,我已經在我的上一篇博文裏寫到了。

我們現在在存儲過程中加入了循環之後,又會出現一個問題,那就是循環的次數無法確定,我們就需要利用它的異常提示信息

       語法:

 declare  exit      handler  for SQLSTATE 信息 執行的動作;

   declare  continue  handler  for SQLSTATE 信息 執行的動作;

注意:

執行順序(聲明的位置沒有要求,建議在開頭。當錯誤出現的時候被執行,如果是exit類型的在終止整個存儲過程的執行;如果是continue類型的則從錯誤

出現的位置繼續);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章