两表结构如下:
A
字段:AID,Name,FullName,BID(主键为AID,外键BID)
B
字段:BID,Name,FullName(主键为BID)
问题:
现在需要在更新A表Name,FullName字段内容的同时,也更新B表Name,FullName内容,
使当A.BID=B.BID时A.Name=B.Name,A.FullName=B.FullName???
1.请以一句SQL语句实现之,谢谢,初学!2.删除的语句顺便也给写出来,谢谢!

解决方案 »

  1.   

    update B set B.Name=A.Name, B.FullName=A.FullName where A.BID=B.BID
    楼主是不是这个意思啊~~`
    看的不是很明白
    关注中,楼主说清楚点~~
      

  2.   

    设置A表的外键BID的级联属性为级联更新和级联删除,就可以不用写如何代码,在删除或更新主表的时候,子表会自动更新和删除
      

  3.   

    A
    字段:AID,Name,FullName,BID(主键为AID,外键BID)
    B
    字段:BID,Name,FullName(主键为BID)sql语句试试这个update A,B
    SET A.Name = '1' AND A.FullName='2' AND B.Name = '1' AND B.FullName='2'
    WHERE A.BID=B.BID AND AID=1
      

  4.   

    update A,B
    SET A.Name = '1' AND A.FullName='2' AND B.Name = '1' AND B.FullName='2'
    WHERE A.BID=B.BID AND A.AID=1
      

  5.   

    --根据A表的更新对B表触发更新
    create or replace tirgger to_b_update()
    after update on A
    for each row
    begin
    update b set Name=(:new.Name),FullName=(:new,FullName) where BID=(:new.BID);
    end--根据A表的删除对B表触发删除
    create or replace tirgger to_b_del()
    after delete on A
    for each row
    begin
    delete from b where BID=(:old.BID);
    end
      

  6.   

    笔误 上面的
    create or replace tirgger to_b_del()
    create or replace tirgger to_b_update()
    应为  
    create or replace trigger to_b_del()
    create or replace trigger to_b_update()
      

  7.   

    谢谢,大家,我吃完饭测试下结贴!TO:lwjvince(Insert into you(memory)values(my all life))
    触发器我只知道触发器的作用,但是不会用!
    请以代码赐教,再次感谢!
      

  8.   

    A
    字段:AID,Name,FullName,BID(主键为AID,外键BID)
    B
    字段:BID,Name,FullName(主键为BID)---------------------------------------
    試試:下面的SQL (連在一起的)
    Update A  set Name ='XXX',FullName ='YYYY' where AID ='ZZZ';
    Update B set Name = (select name from a where AID ='ZZZ' ),
                 FullName =(select Fullname from a where AID ='ZZZ' )
                where  BID = ( select AID where AID ='ZZZ' )
      

  9.   

    create or replace trigger to_b_del()
    after update on A
    for each row
    begin
    update b set Name=(:new.Name),FullName=(:new,FullName) where BID=(:new.BID);
    endcreate or replace trigger to_b_update()
    after delete on A
    for each row
    begin
    delete from b where BID=(:old.BID);
    end
      

  10.   

    已只表A的一个字段output的数量为100,已经表B的字段名称的两个quantity为60、gross为80,修改表A的数量为50,表B的数量也同时更新?使用什么方法。