有个A表
TAB1          TAB2
AB             OP
CD             QW
EF             ER
GH             EWQ
IJ             B43B表
TAB1          TAB2
11            F2ABD
12            GGABA33
13            WECDJ
14            21EFS
15            22GHD
16            BLIJU
17            BLABU
....B表的TAB2内的数据只要出现和A表TAB1内的字符串相对应就替换成A表TAB2的字符串输入,我应该如何做呢
比如B表的第11行 "F2ABD"中有"AB",那么通过检索A表,这个字符串就应该被替换成“F2OPD”
我应该如何写这个呢?
问题比较棘手,请大家帮个忙,谢谢啦

解决方案 »

  1.   

    用游标结合全文检索match...against应该可以实现的,别告诉我你还不会用游标!
      

  2.   

    可以不用全文检索,直接调用replace函数瞧瞧:
    declare atab1 varchar(10);
    declare atab2 varchar(10);declare acur cursor for select TAB1,TAB2 from A;
    declare continue handler for SQLSTATE '02000' set adone = 1;open acur;repeat
    fetch acur into atab1,atab2;
    if not done then
    update tab set tab2=(replace(tab2,atab1,atab2));
    end if;
    until done end repeat;close acur;