遊標的做用就是用於對查詢數據庫所返回的記錄進行遍歷,以便進行相應的操做;遊標有下面這些屬性:數據庫
a、遊標是隻讀的,也就是不能更新它;oop
b、遊標是不能滾動的,也就是隻能在一個方向上進行遍歷,不能在記錄之間隨意進退,不能跳過某些記錄;spa
c、避免在已經打開遊標的表上更新數據。code
一個遊標實例:blog
DROP PROCEDURE IF EXISTS test1; DELIMITER // CREATE PROCEDURE test1(IN input INT,OUT output TEXT) BEGIN DECLARE var VARCHAR(30) ; ##申明變量 DECLARE cus_cursor CURSOR FOR SELECT username FROM aaa_test; ##申明遊標
OPEN cus_cursor; ##打開遊標 SET output=''; outer_label:LOOP FETCH cus_cursor INTO var; ##移動遊標指到第一行,並將結果保存到變量var中 SELECT var; ##查看變量結果
SET output=CONCAT(output,';',var); ##拼接字符串,並做爲輸出參數輸出。
IF var='loop_name_1' THEN ##判斷遊標索引所在位置的列的結果是否是等於loop_name_1,如果則終止循環 LEAVE outer_label; ##跳出循環 END IF; END LOOP outer_label; CLOSE cus_cursor; ##關閉遊標 END// SET @input=0; CALL test1(@input,@output);
SELECT @output; ##查看輸出參數中的字符串
其中:索引
輸出結果:字符串