string  name;int id;a表(主表)  b表(外表)
 
判断如果用户id为a表中的id  然后 name 与b表中字段不相当 才更新a.字段 b.字段不会用存取过程 希望用sql语句 

解决方案 »

  1.   

    select id from a where id in (select b.id from (select a.*, b.* from a, b where a.id = b.id and a.name <> b.name))update a set a.name = select a.name from a, b where a.id = b.id
      

  2.   


    if not exists(XXXX)
    begin
       update XXX
    end
    else
    begin
       XXX
    end
      

  3.   


    update a
    set a.name = b.name
    from a,b
    where a.id = b.id and a.name <> b.name 
      

  4.   


    declare @id int,
    @name varchar(10)
    set @id=...
    set @name=... --以上两句为赋值语句,将ID,NAME分别赋给对应的变量
    if exists (select 1 from a where id=@id) and not exists (select 1 from b where name=@name)
    begin
    update a set id=@id
    update b set name=@name
    end