對於需要重新整理的大資料量,當一次重新整理資料量過大時,事務太大,會導致binlog檔案太大,在不同的資料庫同步時,可能遇到問題,先整理如下,分批次重新整理資料
1 delimiter // # 設定//-- 刪除儲存過程為結束符,否則命令列中的;會與預設的;衝突
2drop
procedure
ifexists
test; # 如果存在test儲存過程則刪除
3create
procedure
test() # 建立無參儲存過程,名稱為test
4begin
5declare i integer
default
1; # 申明變數 使用者判斷是否繼續迴圈
6declare rownums integer
default
0; # 申明變數 用於記錄總影響行數
7declare limitrow integer
default
2; # 申明變數 用於記錄一次事務的影響行數
8while i>
0 do # 結束迴圈的條件: 當上次重新整理的影響行數<=
0時跳出while迴圈910
# 更新語句
1112
update tf_b_student set create_name =
'test1
'where create_name =
'test
'limit limitrow;
1314
set i=
row_count();
15set rownums = rownums+
i; # 迴圈一次,i加1
16end
while
; # 結束while迴圈
17select
rownums;
18end;19
//20
delimiter ; #重新設定回;作為分割符
2122 call test(); # 呼叫儲存過程
drop procedure if exists test;
-- 檢視儲存過程
select specific_name,security_type,sql_data_access from information_schema.routines where routine_name='test';
MySQL 如何建立事務
事務的建立 隱式的事務 事務沒有明顯的開啟和結束的標記 比如insert update delete語句 delete from 表 where id 1 顯示事務 事物具有明顯的開啟和結束的標記 前提 必須先設定自動提交功能為禁用 set autocommit 0 步驟1 開啟事務 set aut...
建立mysql事務 資料庫事務的建立
使用事務解決銀行轉賬問題 關鍵語句講解 begin transaction 定義變數,用於累計事務執行過程中的錯誤 declare errorsum int set errorsum 0 初始化為0,即無錯誤 轉賬 張三的賬戶少1000元,李四的賬戶多1000元 update bank set cu...
pb建立mysql事務 PB 應用物件和事務物件
應用物件 應用物件 非可視物件 預設字型 程式圖示 應用庫搜尋 pbl 檔案,不建議太大,一般不要超過 800k,目前我們系統就很大 5m 的都有 預設全域性變數 5 個 sqlca sqlda sqlsa error message 應用物件結構,函式,例項變數 其他全域性變數 全域性外部函式 w...