1. 程式人生 > >mysql遊標案例(已備將來自己檢視)

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

REATE PROCEDURE `test`.`new_procedure` ()
BEGIN
-- 需要定義接收遊標資料的變數 
  DECLARE a CHAR(16);
  -- 遊標
  DECLARE cur CURSOR FOR SELECT i FROM test.t;
  -- 遍歷資料結束標誌
  DECLARE done INT DEFAULT FALSE;
  -- 將結束標誌繫結到遊標
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
  -- 開啟遊標
  OPEN cur;
  
  -- 開始迴圈
  read_loop: LOOP
    
-- 提取遊標裡的資料,這裡只有一個,多個的話也一樣; FETCH cur INTO a; -- 宣告結束的時候 IF done THEN LEAVE read_loop; END IF; -- 這裡做你想做的迴圈的事件 INSERT INTO test.t VALUES (a); END LOOP; -- 關閉遊標 CLOSE cur; END
複製程式碼

這裡有一個比較坑的地方,注意,變數的定義不要和你的select的列的鍵同名!不然,fetch into 會失敗!

另外 :

如果沒有則插入資料,如果有則更新的方法:

insert into `test` values (a,b) ON DUPLICATE KEY UPDATE `a`=c;

相關推薦

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

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

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綜合案例

mys mil 年齡 同學 primary 表示 align 出了 pro Mysql綜合案例 考核要點:創建數據表、單表查詢、多表查詢   已知,有一個學生表student和一個分數表score,請按要求對這兩個表進行操作。student表和score分數表的表結構分別如

MySql階段案例

獲取 存儲 har 需要 cati mysql數據庫 tro business pro MySql階段案例 案例一   涉及的知識點:數據庫和表的基本操作,添加數據,多表操作 題目 使用sql語句請按照要求完成如下操作:   (1)創建一個名稱為test的數據庫。   (2

MySQL故障案例

mysql第1章 MySQL故障案例:1.1 背景說明:mysql的架構中沒有主從復制的體系,也沒有按時進行備份數據庫中有兩個庫conf庫和jira庫,僅有一份備份的數據,還是一年前的備份1.2 故障場景:意外宕機,導致磁盤物理損壞,也就是說mysql軟件程序中data數據目錄中的jira文件都沒有了數據庫無

mysql中刪除有字段的唯一性約束?

col arc play 如何 repl alt 字段 class arch username varchar(18) NOT NULL unique 如何把unique約束刪除? 解決方法:在你建好的表...右擊 ——索引/索引類型——把username唯一鍵去掉

heartheartbeat+drbd+mysql主庫熱

ice eth0 8.4 模塊 f2c 緩存 通信 ble 工作 一 環境準備 1 環境 主機名 網卡 磁盤 master eth0 橋接模式 eth0(192.168.1.10) 自定義模式(VMnet2)(192.168.2.10)VIP 192.1

linux下zookeeper、redis、activemq、solr、mysql、nginx啟動、停止、檢視狀態命令

一、zookeeper 首先進入zookeeper/bin目錄下 *啟動 ./zkServer.sh start *停止 ./zkServer.sh stop *檢視狀態 ./zkServer.sh status 二、redis 1、 redis簡潔安裝 re

Docker 實戰案例解析,實現自己主動化資料庫遷移

出品丨Docker公司(ID:docker-cn) 編譯丨小東 每週一、三、五晚6點10分  與您不見不散 說在前面 在 Phorest Salon Software 公司,我們是在 AWS 上執行我

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

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

windows下使用mysql雙機熱功能

sql skip host 狀態 set 指定同步 天數 沒有 我們 一. 準備工作   1. 準備兩臺服務器(電腦),接入局域網中,使互相ping得通對方   2. 兩臺服務器都安裝mysql-server-5.1,必須保證mysql的版本一致   3. 假設,服務器A:

MySQL——事務管理(重點)、檢視、使用者管理

在我們剛開始學習資料庫的時候就認識到了SQL的分類總共有三種DDL、DML、DCL,前面的學習已經用到了DDL、DML,今天的事務管理將用到DCL,資料控制語言,主要負責許可權管理和事務。 一、事務的概念        事

Mysql雙主熱架構搭建

背景知識: 在mysql主從架構篇我詳細介紹了主從架構的搭建,傳送門。主從架構的原理就是主節點將所有的修改事件記錄到binlog中,然後從節點將主節點binlog中的事件拷貝到自己的中繼日誌(relay log)中,從節點再重做中繼日誌將修改反映成自己的資料。 主從架構資料是單向的,

Mysql 主主互搭建及原理簡介

        在企業中,資料庫高可用一直是企業的重中之重,中小企業很多都是使用mysql主從方案,一主多從,讀寫分離等,但是單主存在單點故障,從庫切換成主庫需要作改動。因此,如果是雙主或者多主,就會增加mysql入口,增加高可用。不過多主需要考慮自增長ID問

mysql 主主互模式下的效率測試

參照https://blog.csdn.net/hongguo_cheng/article/details/80293588這篇文章,搭建了一個mysql主主互備的環境。 環境資訊是:windows主機上,virtualbox安裝了兩臺虛擬機器,CentOS7    &nbs

資料庫MySQL之如何建立、修改、檢視、刪除資料庫?

如何建立、檢視、修改、、刪除資料庫? 文章目錄 1. 資料庫建立:CREATE 2. 二、檢視資料庫列表:SHOW 3. 資料庫的修改:ALERT 4.四、刪除資料庫:DROP 1. 資料庫建立:CREATE CREAT

Sqoop連線mysql報錯-解決

報錯 使用連線測試命令: sqoop list-databases --connect jdbc:mysql://master:3306/ --username bee -P 報如下錯誤: 18/12/02 20:11:44 ERROR manager.CatalogQ