怎样保证只更新当前记录的相关字段.
表tblCombineDetail
FID FDishCode FDishName ......
1               烧鸡2               叉烧
表tblDishCombin
FID FDishCode FDishName
1    h           烧鸡
2    g           叉烧
想得到结果
表tblCombineDetailFID FDishCode FDishName......
1    h           烧鸡
2    g           叉烧想在更新表tblCombineDetail同时根据表tblDishCombin对应关系更新字段FDishCode.
CREATE trigger findDishCodeByName on tblCombineDetail 
AFTER insert as
if update(FDishName)
begin
update tblCombineDetail  set FDishCode =(select c.FDishCode from  
tblDishCombin c,inserted i where c.FDishName =i.FDishName)
end
帮忙改改.

解决方案 »

  1.   

    CREATE   trigger   findDishCodeByName   on   tblCombineDetail   
    for AFTER   insert   
    as 
    if   update(FDishName) 
    begin 
    update   a
    set   FDishCode   =(select   max(c.FDishCode)   
    from tblCombineDetail a,tblDishCombin   c,inserted   i   
    where   c.FDishName   =i.FDishName) 
    where a.FDishName   =i.FDishName
    end 
      

  2.   

    CREATE   trigger   findDishCodeByName   on   tblCombineDetail   
    for AFTER   insert   
    as 
    if   update(FDishName) 
    begin 
    update   a
    set   FDishCode   =(select   max(c.FDishCode) from tblDishCombin  where FDishName   =i.FDishName)
    from tblCombineDetail a,inserted i,
     
    where a.FDishName   =i.FDishName
    end 
      

  3.   

    哦!这里的Max起了怎样的作用呢?