表TABLE1、TABLE2中都有字段BL_NO、BL_NAME1、BL_NAME2,BL_NO该字段的值在两个表中都是唯一的,请问如何将TABLE2中的BL_NAME1和BL_NAME2字段的值赋给对应的TABLE1中相同的BL_NO的BL_NAME1和BL_NAME2?我知道SQL SERVIER 中可以这么些,但是ORACLE不行UPDATE TABLE1 SET TABLE1.BL_NAME1=TABLE2.BL_NAME1,TABLE1.BL_NAME2=TABLE2.BL_NAME2, FROM TABLE2 WHERE TABLE1.BL_NO=TABLE2.BL_NO

解决方案 »

  1.   

    UPDATE TABLE1 T
       SET (BL_NAME1,BL_NAME2)= (SELECT BL_NAME1,BL_NAME2 FROM TABLE2 WHERE BL_NO=T.BL_NO)
     WHERE EXISTS(SELECT 1 FROM TABLE2 WHERE BL_NO=T.BL_NO);
      

  2.   

    UPDATE TABLE1
       SET (BL_NAME1, BL_NAME2) = (select BL_NAME1, BL_NAME2
                                     FROM TABLE2
                                    WHERE TABLE1.BL_NO = TABLE2.BL_NO);
      

  3.   


    UPDATE TABLE1
       SET (TABLE1.BL_NAME1, TABLE1.BL_NAME2) = (SELECT TABLE2.BL_NAME1,
        TABLE2.BL_NAME2
           FROM TABLE2
          WHERE TABLE1.BL_NO =TABLE2.BL_NO
            );