mysql 使用update trigger 對更新記錄轉換二進制後,分別插入另一個表八行

這是一個 demo  如圖:

create trigger tg1
after update on yuan2
for each row
begin
declare abc int;
declare abc1 int;
declare abc2 int;
declare abcn char(30);
declare ab char(30);
declare i int;
declare m int;
declare n int;
set i = 0;
set m = 1;
set abc1=conv(new.val,16,2);
while i<length(abc1) do
   set n = i;
   set abc2=substring(abc1,m,1);
   set ab = cast(n as char);
   set abcn = concat(new.mz,'.',ab);
   update zz1 set val=abc2 where aaa = abcn;  #如果無法匹配,重新插入記錄試試
   set i = i+1;
   set m = m+1;
end while;
end;


#這是兩個表的創建
create table yuan2(
mz char(30),
val char(30)
);


create table zz1(
id int,
aaa char(30),   #如果無法匹配,重新插入記錄試試 
val int
);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章