MySQL游標的創建與打開和關閉游標教程

mysql創建游標

游標用 DECLARE 語句創建。 DECLARE 命名游標,并定義相應的 select 語句,根據需要帶 WHERE 和其他子句。例如,下面的語句定義了名為 ordernumbers 的游標,使用了可以檢索所有訂單的 SELECT 語句。

輸入:

create?procedure?processorders()  begin  declare?ordernumbers?cursor?for?select?order_num?from?orders;  end;

分析:這個存儲過程并沒有做很多事情, DECLARE 語句用來定義和命名游標,這里為 ordernumbers 。 存儲過程處理完成后,游標就消失(因為它局限于存儲過程)。在定義游標之后,可以打開它。

mysql打開和關閉游標

游標用 OPEN CURSOR 語句來打開:

輸入:

open?ordernumbers;

分析:在處理 OPEN 語句時執行查詢,存儲檢索出的數據以供瀏覽和滾動。

游標處理完成后,應當使用如下語句關閉游標:

輸入:

close?ordernumbers;

分析:CLOSE 釋放游標使用的所有內部內存和資源,因此在每個游標不再需要時都應該關閉。

在一個游標關閉后,如果沒有重新打開,則不能使用它。但是,使用聲明過的游標不需要再次聲明,用 OPEN 語句打開它就可以了。

隱含關閉 如果你不明確關閉游標,MySQL將會在到達 END 語句時自動關閉它。

下面是前面例子的修改版本:

輸入:

create?procedure?processorders()  BEGIN  --?declare?the?cursor  declare?ordernumbers?cursor?for  select?order_num?from?orders;  --?Open?the?cursor  Open?ordernumbers;  --?close?the?cursor  close?ordernumbers;  END;

分析:這個存儲過程聲明、打開和關閉一個游標。但對檢索出的數據什么也沒做。

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享