update t_1 set goods_name = (
  select goods_name from t_2 
  where t_1.goods_id = t_2.goods_id)
where exists (select * from t_2 where t_1.goods_id = t_2.goods_id);

解决方案 »

  1.   

    create table t_1(goods_id varchar2(10),goods_name varchar2(10));
    insert into t_1 values('1','');
    insert into t_1 values('2','');
    insert into t_1 values('3','');
    insert into t_1 values('4','');create table t_2(goods_id varchar2(10),goods_name varchar2(10));
    insert into t_2 values('1','a');
    insert into t_2 values('2','b');
    insert into t_2 values('3','c');
    insert into t_2 values('5','e');
    update t_1 set goods_name = (select goods_name from t_2
    where goods_id= t_1.goods_id);select * from t_1;/*
    GOODS_ID   GOODS_NAME
    ---------- ----------
    1          a
    2          b
    3          c
    4已选择4行。
    */