数据库链接访问表SQL中的列

时间:2013-07-12 19:14:46

标签: sql database oracle sql-server-2008

我正在尝试使用数据链接更新我的SQL数据库中的表到另一个数据库。 我正在使用:

update TestTable
 SET some_column1=table.ColumnName1@dataBaseLink,
   some_column2=table.ColumnName2@dataBaseLink,
   some_column3=table.ColumnName3@dataBaseLink,
   some_column4=table.ColumnName4@dataBaseLink,
   some_column5=table.ColumnName5@dataBaseLink        
  where some_column=database.SomeColumn@dataBaseLink;

我收到错误

Error report:
SQL Error: ORA-00904: "database"."Variable1": invalid identifier
00904. 00000 -  "%s: invalid identifier"
 *Cause:    
 *Action:

我知道我显然是在尝试访问数据库链接中的列错误...但我不确定如何修复和/或访问它。

我正在使用SQL delveloper。

谢谢

1 个答案:

答案 0 :(得分:2)

尝试使用合并

MERGE INTO TestTable TGT
  USING (
         SELECT t.key, t.ColumnName1, t.ColumnName2, 
         t.ColumnName3, t.ColumnName4, t.ColumnName5
         from remotetable@dataBaseLink t
  ) SRC
  ON (TGT.KEY = SRC.KEY)
  WHEN MATCHED THEN
  UPDATE SET some_column1=src.ColumnName1,
   some_column2=src.ColumnName2,
   some_column3=src.ColumnName3,
   some_column4=src.ColumnName4,
   some_column5=src.ColumnName5