天天看點

MySQL 遊标(PREPARE預處理語句)

本章節介紹使用遊标來批量進行表操作,包括批量添加索引、批量添加字段等。如果對存儲過程、變量定義、預處理還不是很熟悉先閱讀我前面寫過的關于這三個概念的文章,隻有先了解了這三個概念才能更好的了解這篇文章。

這個語句聲明一個光标。也可以在子程式中定義多個光标,但是一個塊中的每一個光标必須有唯一的名字。

注意:SELECT語句不能有INTO子句。

這個語句打開先前聲明的光标。

這個語句用指定的打開光标讀取下一行(如果有下一行的話),并且前進光标指針。

這個語句關閉先前打開的光标。 

共享一個批量添加索引的遊标,當一個庫中有上百張表結構一樣但是名稱不一樣的表,這個時候批量操作就變得簡單了。

MySQL 遊标(PREPARE預處理語句)
MySQL 遊标(PREPARE預處理語句)

這裡有幾個細節:

在聲明遊标的時候記得修改自己需要查詢的條件

在預處理這裡也需要改成對應的字段

在定義條件變量的時候這裡我使用的是EXIT就是遇到錯誤就中斷,當然也可以使用CONTINUE 。

注意:由于mysql在存儲過程當中無法将查詢出來的變量名直接作為表名來用,是以這裡要用到動态拼接SQL的方法,但是通常的SET CONCAT的方法并不管用,是以這裡就使用了PREPARE來進行預編譯。

 在定義遊标之前是以的定義都隻能通過decalre定義,不能使用SET定義!!!!!!

 批量處理雖然有時候能提高工作的效率,但是帶來的潛在危險也是挺大了,是以在執行之前必須要非常有把握你執行的語句對資料的影響,否則在生成環境就非常危險了。

本文轉自pursuer.chen(陳敏華)部落格園部落格,原文連結:www.cnblogs.com/chenmh/p/5308146.htm,如需轉載請自行聯系原作者