查詢語句可能查詢出多條記錄,在存儲過程和函數中使用光標來逐條讀取查詢結果集中的記錄。有些書上將光標稱爲遊標。光標的使用包括聲明光標、打開光標、使用光標和關閉光標。光標必須聲明在處理程序以前,而且聲明在變量和條件以後。光標能夠類比爲數組內部中的循環指針。mysql
declare cursor_name cursor for select_statement;複製代碼
其中,cursor_name參數表示光標的名稱;select_statement參數表示SELECT語句的內容。sql
聲明光標舉例數組
DECLARE cur_employee SELECT name, age FROM employe;複製代碼
上面的示例中,聲明一個名爲cur_employee的光標。光標的名稱爲cur_employee;SELECT語句部分是從employee表中查詢出name和age字段的值。函數
open cursor_name;複製代碼
fetch cursor_name into var_name[,var_name]...複製代碼
其中,cursor_name參數表示光標的名稱;var_name參數表示將光標中的SELECT語句查詢出來的信息存入該參數中。var_name必須在聲明光標以前就定義好。fetch
close cursor_name;複製代碼
關閉以後就不能使用FETCH來使用光標了。spa
目前,mysql中的光標只能在存儲過程或函數中使用。
指針