當前位置:編程學習大全網 - 編程語言 - MySQL 遊標的定義與使用

MySQL 遊標的定義與使用

從字面可以這麽理解什麽是遊標,遊標就像是水面上漂浮的壹個標記,這個標記可以來回遊動,壹會遊到這裏壹會遊到那裏,這裏的河水可以理解為是數據的集合,這個標記就是在這些數據間來回遊動。

為什麽 MySQL 會有遊標這個概念,由於 SQL 語言是面向集合的語句,它每次查詢出來都是壹堆數據的集合,沒有辦法對其中壹條記錄進行單獨的處理。如果要對每條記錄進行單獨處理就需要遊標。

遊標其實就像是編程語言中的 for/foreach 循環,把壹個數組(數據的集合)中每條數據壹條壹條地循環出來,然後妳在 for/foreach 循環中使用判斷語句對妳感興趣的數據進行處理。

哪裏可以使用遊標呢,函數,存儲過程,觸發器中都可以使用。

說完概念,就來看下遊標的固定寫法。不管概念是否理解,記住下面的固定模式也可以完成搬磚任務。

1、聲明遊標

SELECT 語句就是正常的查詢語句,例如:SELECT id,age FROM table;

2、打開遊標

在打開遊標之前,遊標定義的 SQL 語句是不執行的。

3、取出記錄

將當前的記錄數據存入變量。

當 FETCH 沒有找到記錄時會拋出異常,異常的定義需要下面的 HANDLER FOR 語句。

聲明遊標語句中的 SELECT 如果有多個字段,INTO 後面需要多個變量進行接收。

4、設置結束條件

這個語句的作用是指定壹個條件,告訴程序所有數據已經循環完畢,可以結束了。由於遊標是使用 WHILE 循環進行每條數據的讀取,就需要給 WHILE 壹個結束條件。

處理種類:可以是, EXIT 立即結束。CONTINUE 繼續下面的處理。

異常的類型:壹般指定為 NOT FOUND ,意思是沒有找到任何數據。

異常發生時的處理:當異常發生時需要做的事情,這裏壹般改變壹個變量的值來記錄異常已經發生了,如如 SET flat = 1 詳細用法查看下面的例子。

5、關閉遊標

實戰代碼:

完畢,看懂沒,如果沒看懂沒關系,遊標處理是壹套固定的格式,按照上面例子中固定的格式套入到妳的程序就可以了。

  • 上一篇:計算機專業留學哪個國家比較好?
  • 下一篇:如何讓直男喜歡自己
  • copyright 2024編程學習大全網