有个计数表 A字段js  存的是基本的基数
B.C表都有一个js的字段对应A表,B、C是同时更新的。不存一个更新一个不更新的情况。要求在B(或者C)表更新的时候,将A.js的值赋给B/C表对应的js字段。同时A表的js值+1,这些工作要数据库自己完成我不会搞存储过程(触发器),请高人弄个完整的。谢谢完成后立刻结账

解决方案 »

  1.   

    --需要楼主回答2个问题。
    1、需要知道这三个表的关联字段
    2、B\C表只要一更新,不管更新哪个字段都将A.js的值赋给B/C表对应的js字段。同时A表的js值+1
      

  2.   

    唉标题输错了,还改不了。Q:一个表更新时,将A表的一个值付给其他表的一个字段,并且A表的值+1  有个计数表 A字段js  存的是基本的基数 
    B.C表都有一个js的字段,B、C是同时更新的。不存一个更新一个不更新的情况。 要求:在B(或者C)表更新的时候,将A.js的值赋给B/C表对应的js字段。同时A表的js值+1,这些工作要数据库自己完成 我不会搞存储过程(触发器),请高人弄个完整的。谢谢 
      

  3.   

     create tigger b_update
    on b
    for update 
    begin 
      update b set  b.js=a.js from a 
      update a set js=js+1
    endcreate tigger c_update
    on c
    for update 
    begin 
      update c set  c.js=a.js from a 
      update a set js=js+1
    end
      

  4.   


    1、A表是计数用的表,和b、c有关的只有一个字段JS,但是与b/c表不关联,b/c表有个字段(js)是关联的。
    2、b、C表的更新是一个页面内的数据,所以不存在只有一个更新了,要不都没有更新(如果对应的表没有赋值,会加相应null值,且不让修改,只能增加),要不都更新,所以不管是那个表有更新,就把A表的js值赋给B、C表对应的js字段,同时A表js值+1
      

  5.   


    --那A表只有一条记录了?
    --B表和C表分别有多条记录吧?是把两表里面的所有JS都更新吗?还是只更新一条?
      

  6.   

    A表只有js一个字段,只有一条记录比如是js=200901吧
    B表和C表分别有多条记录,只把新插入的记录对应的JS值更新为A.js的值
    B                            C
                                 
    js=200901                    js=200901A
    js=200902
    依次在插入记录的时候,B/c的记录为200902,同时A.js=200903
      

  7.   


    tigger=trigger? 我替换俩表名报“关键字 'begin' 附近有语法错误”我是临时抱佛脚呀,在线急需这个功能
      

  8.   

    你的JS类型是INT的还是字符类型的?
      

  9.   

    B表先 C表后,谢谢SDHDY的精神
      

  10.   

    --try
    create trigger trig_update_b on b 
    for update as
    set nocount on 
    begin
    update b set js=(select js from a) from inserted where b.js=inserted.js
    update a set js=js+1
    end
    go
    create trigger trig_update_c on c 
    for update as
    set nocount on 
    update c set js=(select max(js) from b) from inserted where c.js=inserted.js