用户A下有表Z_TOTAL如下:
MBL     FWD
001     UPS
002     EMS
003     UPS用户B下有表Z_DETAIL如下:
 NO      MBL      FWD
F001     001
F002     003
F003     001
F004     002在用户B下建了个dblink:DATASOURCE,来连到A下的数据表现在想做的是用MBL用键来更新B中的表我的语句如下:
UPDATE B.Z_DETAIL SET FWD=(SELECT FWD FROM A.Z_TOTAL@DATASOURCE WHERE B.Z_DETAIL.MBL=A.Z_TOTAL.MBL) WHERE EXISTS (SELECT 1 FROM A.Z_TOTAL@DATASOURCE WHERE B.Z_DETAIL.MBL=A.Z_TOTAL.MBL);但结果不对!请高手指教!

解决方案 »

  1.   


    UPDATE B.Z_DETAIL
     SET FWD=(SELECT FWD FROM A.Z_TOTAL@DATASOURCE WHERE B.Z_DETAIL.MBL=A.Z_TOTAL.MBL) 
    WHERE EXISTS (SELECT 1 FROM A.Z_TOTAL@DATASOURCE INNER JOIN B.Z_DETAIL ON B.Z_DETAIL.MBL=A.Z_TOTAL.MBL@DATASOURCE );
     
      

  2.   


    UPDATE Z_DETAIL 
    SET FWD=(SELECT FWD FROM Z_TOTAL@DATASOURCE WHERE Z_DETAIL.MBL=Z_TOTAL.MBL@DATASOURCE ) 
    WHERE EXISTS (SELECT 1 FROM Z_TOTAL@DATASOURCE INNER JOIN Z_DETAIL ON Z_DETAIL.MBL=Z_TOTAL.MBL@DATASOURCE ); 
    你最好建立个同义词~~要不会写的很麻烦~~
    如果还报错~贴出错误信息~