Mysql_游标
MySQL中的游標是一個十分重要的概念。游標提供了一種對從表中檢索出的數據進行操作的靈活手段,就本質而言,游標實際上是一種能從包括多條數據記錄的結果集中每次提取一條記錄的機制。MySQL中的游標的語法如下:
DECLARE cursor-name CURSOR FOR SELECT ...; /* 聲明一個游標,名稱為cursor-name,并用CURSOR FOR SELECT*/DECLARE CONTINUE HANDLER FOR NOT FOUND /*指定當遍歷完結果集后,游標如何繼續處理*/
OPEN cursor-name; /*打開游標 */
FETCH cursor-name INTO variable [, variable]; /* 將變量賦值給游標*/
CLOSE cursor-name; /*使用后關閉游標*/
一個具體的例子如下:
DELIMITER //CREATE PROCEDURE `proc_CURSOR` (OUT param1 INT)
BEGIN
DECLARE a, b, c INT;
DECLARE cur1 CURSOR FOR SELECT col1 FROM table1;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET b = 1;
OPEN cur1;
SET b = 0;
SET c = 0;
WHILE b = 0 DO
FETCH cur1 INTO a;
IF b = 0 THEN
SET c = c + a;
END IF;
END WHILE;
CLOSE cur1;
SET param1 = c;
END //
其中,DECLARE cur1 CURSOR FOR SELECT col1 FROM table1;
表示將從table1表中選取col1列的內容放到游標curl中,即每次游標遍歷的結果都放在curl中,要注意游標只能向前遍歷,而不能向后,并且注意,游標不能更新,最后關閉游標。
轉載于:https://www.cnblogs.com/ingstyle/p/4368430.html
總結
- 上一篇: 巧用DOS命令合并多个文本文件的内容
- 下一篇: Hibernate中启用日志