概述
查詢語句可能查詢出多條記錄,在存儲過程和函數中使用光標來逐條讀取查詢結果集中的記錄。有些書上將光標稱為遊標。光標的使用包括聲明光標、打開光標、使用光標和關閉光標。光標必須聲明在處理程式之前,並且聲明在變量和條件之後。光標可以類比為數組內部中的循環指針。
聲明光標
declare cursor_name cursor for select_statement;
其中,cursor_name參數表示光標的名稱;select_statement參數表示SELECT語句的內容。
聲明光標舉例
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必須在聲明光標之前就設定好。
關閉光標
close cursor_name;
關閉之後就不能使用FETCH來使用光標瞭。
光標在存儲過程或函數中的使用
目前,mysql中的光標隻能在存儲過程或函數中使用。