1. 程式人生 > 其它 >MYSQL儲存過程遊標定義出現錯誤

MYSQL儲存過程遊標定義出現錯誤

技術標籤:mysql錯誤mysql

Navicat中寫了一個簡單的儲存過程,用到了遊標,僅僅是定義階段,就不斷報錯,相關語句如下:

  #step 1 定義遊標結束識別符號
  DECLARE  DONE          INT DEFAULT FALSE;
  
  #step2 定義遊標 
  DECLARE  DPID_CUR      CURSOR FOR SELECT cm_no FROM e_c_m_db.data_points; 
  
  #step3 定義異常時改變遊標結束識別符號機制
  DECLARE  CONTINUE HANDLER FOR NOT FOUND SET
DONE = TRUE; #點號 用於存遊標值 DECLARE DPID VARCHAR(10);

錯誤如下所示:
1.Cursor declaration after handler declaration
在這裡插入圖片描述
2.Variable or condition declaration after cursor
在這裡插入圖片描述
網上查了很多資料,皆是調整順序 先定義遊標 再定義HANDLER,反覆調整順序,反覆出現如上錯誤

最後將全部變數宣告注意是全部,不單單指有關遊標的放在遊標相關定義前面,如下

  
  #點號 用於存遊標值
  DECLARE  DPID          VARCHAR
(10); #step 1 定義遊標結束識別符號 DECLARE DONE INT DEFAULT FALSE; #step2 定義遊標 DECLARE DPID_CUR CURSOR FOR SELECT cm_no FROM e_c_m_db.data_points; #step3 定義異常時改變遊標結束識別符號機制 DECLARE CONTINUE HANDLER FOR NOT FOUND SET DONE = TRUE;

成功執行

Mark:原因待考證