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...