MySQL儲存過程批量處理資料

2021-10-20 00:07:04 字數 1030 閱讀 7894

本文主要講述了mysql實現查詢資料並根據條件更新到另一張表的方法

create definer=`root`@`%` procedure `tasktaxnumber`()

begin

#routine body goes here...

-- 需要定義接收游標資料的變數

declare done boolean default 0;

declare c_tax_number varchar(32); -- 納稅人識別號

declare c_taxpayer_id varchar(32);-- 納稅人id

-- 定義游標

declare cur1 cursor for select tax_number c_tax_number,id c_taxpayer_id from t_taxpayer where tax_number is not null;

declare continue handler for not found set done = 1;

-- 開啟游標

open cur1;

-- 開始迴圈

repeat

-- 獲取游標變數值

fetch cur1 into c_tax_number,c_taxpayer_id;

-- 判斷是否讀到游標末尾 如果不加這個條件 修改或插入的資料會增多執行1條

if done <1 or done >1 then

-- 修改任務表納稅人識別號字段的資料

update t_task set tax_number = c_tax_number where taxpayer_id = c_taxpayer_id;

end if;

until done = 1

end repeat;

-- 迴圈結束

-- 關閉游標

close cur1 ;

end

MySql批量插入資料 儲存過程

批量插入儲存過程 create procedure auto insert in indexs int,in loops int begin declare v sql longtext set v sql insert into t info name,time values while inde...

mysql利用儲存過程批量插入資料

最近需要測試一下mysql單錶資料達到1000w條以上時增刪改查的效能。由於沒有現成的資料,因此自己構造,本文只是例項,以及簡單的介紹。首先當然是建表 create table fortest id int 30 unsigned not null auto increment primary ke...

mysql 儲存過程批量更新

最近做乙個批量更新的操作,由於是臨時需求,就想著在資料庫直接操作,不在 裡動手了,結合網上的一些資料,做如下處理 1.先建立乙個臨時表,匯入需要變動的資料 drop table if exists t barcode create table t barcode barcode varchar 32...