1. 程式人生 > >MYSQL遊標的使用

MYSQL遊標的使用

有問題,要檢查一下:

DELIMITER |

CREATE PROCEDURE sortTable()
BEGIN
DECLARE val INT;
SET val = 1;
DECLARE curTable CURSOR FOR SELECT * FROM t_ruanko_ke_answer ORDER BY qid ASC;
/*遊標 異常後 捕捉 並設定 迴圈使用 變數 tmpname 為 null 跳出迴圈。*/
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET tmpname = NULL;
/*開遊標*/ 
OPEN curTable;
/*遊標向下走一步*/ 
        FETCH curTable INTO tmpName;
        WHILE( tmpname IS NOT NULL ) DO
UPDATE t_ruanko_ke_answer SET id = val;
SET val = val+1;
FETCH curTable INTO tmpName;
END WHILE;
CLOSE curTable;
END|

相關推薦

MySQL遊標的簡單實踐

bool 其余 bsp number 沒有 close 需要 簡單 取出 Q:為什麽要使用遊標? A:   在存儲過程(或函數)中,如果某條select語句返回的結果集中只有1行,可以使用select into語句(上幾篇博客有介紹到用法)來得到該行進行處理;如果結果集中有

簡單的MySql遊標創建

var proc 開啟 eat lose create sta har class 1 DROP PROCEDURE IF exists StatisticStore1; 2 CREATE PROCEDURE StatisticStore1() 3 BEGIN

MYSQL 遊標的使用

open one not 插入 log proc val set not found CREATE PROCEDURE `test`.`new_procedure` () BEGIN -- 需要定義接收遊標數據的變量 DECLARE a CHAR(16); --

Mysql 遊標在數據庫當中引用

數據 cnblogs 開發工程師 row drop sel 聲明 開發 lstat   本人由於在某互聯網公司擔任後臺開發工程師,但是公司基礎數據較多,而且較為復雜。   所以在開發前期就開發使用excel表格導入基礎數據,但是由於前期對業務了解,在書寫導入程序時原廠物料名

MySQL--遊標使用程式碼筆記

mysql> select * from testB; +----+ | id | +----+ | 0 | | 2 | | 4 | +----+ 3 rows in set (0.00 sec) mysql> delimiter $$ mysql> create proc

mysql遊標的用法及作用

1當前有三張表A、B、C其中A和B是一對多關係,B和C是一對多關係,現在需要將B中A表的主鍵存到C中;常規思路就是將B中查詢出來然後通過一個update語句來更新C表就可以了,但是B表中有2000多條資料,難道要執行2000多次?顯然是不現實的;最終找到寫一個儲存過程然後通過迴圈來更新C表,然而儲存過程中的寫

MySQL——遊標

遊標 遊標是一個儲存在MySQL伺服器上的資料庫查詢,它不是一條SELECT語句,而是被該語句檢索出來的結果集。在儲存了遊標之後沒應用程式可以根據需要滾動或瀏覽其中的資料。 注意: 1、和其他DBMS相比,MySQL遊標只能用於儲存過程、函式、迴圈處理。 2、遊標只能一行一行操作

mysql 遊標例項

遊標(Cursor)是處理資料的一種方法,為了檢視或者處理結果集中的資料,遊標提供了在結果集中一次一行或者多行前進或向後瀏覽資料的能力。可以把遊標當作一個指標,它可以指定結果中的任何位置,然後允許使用者對指定位置的資料進行處理。 --declare --open --fetch --

[MYSQL]遊標應用11/13

1.遊標語法:  declare 遊標名 cursor for select語句;  /*遊標名不可重復,select語句不能有into  open 遊標名;  fetch 遊標名 into 變數1,孌數2...;  close 遊標名; P.S.例項參考1   例項參考2

mysql遊標(實際場景應用)

DECLARE @code VARCHAR (64) -- 宣告編碼變數DECLARE my_cursor CURSOR FOR -- 宣告遊標(無非就是一個列表結果集)-- ------------------ -- 遊標的結果集 --STARTselect code from sys_areawhere

MySQL遊標簡析

Notes:SQL檔案 遊標的概念 遊標(cursor)是一個儲存在MySQL伺服器上的資料庫查詢,它不是一條SELECT語句,而是被該語句檢索出來的結果集。在儲存了遊標之後,應用程式可以根據需要滾動或瀏覽其中的資料。 遊標主要用於互動式應用,其中使用者需要滾動螢幕上的資料,並對資料

mysql遊標最後一行重複的問題

最近寫儲存的時候,使用遊標迴圈插入記錄時,發現最後一行重複了一次,在百度和google搜尋了一下,有個回答比較靠譜,但沒有說出所以然來( ),後來又用英文單詞在google上 mysql cursor  last line repeat (英文不好,請見諒)搜尋了一下,sta

利用mysql遊標迴圈結果集

很多時候自己新增測試資料會用到mysql程式設計,其中儲存過程就非常的重要,所以在這裡寫一個返回使用者ID號用逗號拼接的例子 現在發現mysql完全可以程式設計,一門徹底的程式語言,資料型別還是強型

Mysql 遊標巢狀

最近又用需要用到遊標,做個筆記,直接上程式碼了 -- 建立儲存過程 delimiter // create procedure company_attachment_cursor(in _type

MySQL 遊標(PREPARE預處理語句)

概述 本章節介紹使用遊標來批量進行表操作,包括批量新增索引、批量新增欄位等。如果對儲存過程、變數定義、預處理還不是很熟悉先閱讀我前面寫過的關於這三個概念的文章,只有先了解了這三個概念才能更好的理解這篇文章。 正文 游標宣告 宣告游標 DECLARE cur

基於MySQL遊標和儲存過程的迴圈插入

/*我們有時候會遇到需要對 從A表查詢的結果集S_S 的記錄 進行遍歷並做一些操作(如插入),且這些操作需要的資料或許部分來自S_S集合*/ /*臨時儲存過程,沒辦法,不能直接在查詢視窗做這些事。*/ drop procedure if exists proc_tmp; c

MYSQL遊標的使用

有問題,要檢查一下: DELIMITER | CREATE PROCEDURE sortTable() BEGINDECLARE val INT;SET val = 1;DECLARE curTable CURSOR FOR SELECT * FROM t_ruanko_k

MySQL遊標修改記錄——解決最後一行重複的問題

在MySQL儲存過程或函式中,已知fetch語句用來從遊標中提取一條記錄,配合迴圈語句可以 實現整個結果集的遍歷。 儲存過程或函式 declare 遊標:申明遊標 open 遊標:開啟遊標 –>建立結果集 fetch 遊標:提取資料 –>讀取第一

mysql遊標案例(已備將來自己檢視)

REATE PROCEDURE `test`.`new_procedure` () BEGIN -- 需要定義接收遊標資料的變數 DECLARE a CHAR(16); -- 遊標 DECLARE cur CURSOR FOR SELECT i FROM t

mysql-遊標及儲存過程遊標的使用--源自技術

一個完整的mysql遊標使用例子:定義本地變數DECLARE o varchar(128); 定義遊標DECLARE ordernumbers CURSOR  FOR  SELECT callee_name FROM account_tbl where acct_time