表  A B C;
A结构如下
num  varchar 5 主键
VER  varchar 5 (值为  0或者1)
B结构如下 (无主键)
num  varchar 5
MN   varchar 5  
MP   varchar 5
c结构如下
MN   varchar 5  
MP   varchar 5当A表中的VER 变更为 0的时候,
查处对应的A表中的 num
然后再通过 num查询B表中的对应项的所有MN
将B表中的B.num=A.num的所有MN的MP参照C表修改请问该如何做 

解决方案 »

  1.   

    将B表中的B.num=A.num的所有MN的MP参照C表修改B.mp=C.mp
      

  2.   

    create trigger trUp 
    after update on A 
    for each row
    begin
    update B,c
    set B.mp=C.MP
    from B,C
    where B.num=new.num and B.mn=C.mn
    end
      

  3.   

    delimiter $$create trigger trUp 
    after update on A 
    for each row
    begin
    update B,c
    set B.mp=C.MP
    from B,C
    where B.num=new.num and B.mn=C.mn;
    end;
    $$
    delimiter ;
      

  4.   

    大哥  能不能用mysql 啊 
      

  5.   

    再借问一个问题  
    我想  在一条数据插入之后,把数据中的某个字段 更改掉
    应该怎么做 用  B 为列  
    B中插入一行之后,b.mp自动设为  1
    求各位高手帮忙
      

  6.   

    第一个问题解决了  谢谢 feixiangxxx   
      

  7.   

    2个方法:
    1.把你的B表的mp设置一个默认值 (推荐这个)
    2.就是触发器了 用before触发器
      

  8.   

    第一个 就是在你建表的时候指定MP值
     create table b(num varchar(5),MN varchar(5),MP varchar(5) default '1');第二个方法么
    delimiter $$ create trigger trIns 
    before insert on B 
    for each row
    begin 
          set new.MP=1;
    end;
    $$delimiter ;
      

  9.   

                    SELECT
                    `物料编码管理明细`.`新编码` ,
                    `物料编码管理明细`.`物料名称`,
                    `物料编码管理明细`.`规格`,
                    `物料编码管理明细`.`型号`,
                    `物料编码管理明细`.`品牌`,
                    `物料编码管理明细`.`单价`,
                    `物料编码管理明细`.`订货周期`,
                    `物料编码管理明细`.`最小订货量`
                      into (@num,@name,@rulu,@type,@maker,@price,@minT,@minC) 
                     FROM
                    `物料编码管理明细`
                     WHERE
                     `物料编码管理明细`.`申请单号` =  new.申请单号
    能帮我看看 是那里错了吗