代码之家  ›  专栏  ›  技术社区  ›  harpo

我可以避免在更新中重写表表达式吗?

  •  0
  • harpo  · 技术社区  · 15 年前

    假设您正在更新一个表达式的结果表,就像这样

    UPDATE OPENQUERY( server, 'SELECT a from b' )
       SET rem.a = loc.a
      FROM OPENQUERY( server, 'SELECT a from b' ) rem
          ,local_table loc
     WHERE rem.id = loc.id
    

    OpenQuery会执行一次还是两次?我相信这同样适用于任何类型的可更新查询表达式。

    另外,有没有什么方法可以让我对它进行别名,这样就不需要重复了?

    1 回复  |  直到 15 年前
        1
  •  2
  •   harpo    15 年前

    正如我问的,我想我会试试这个

    UPDATE rem
       SET rem.a = loc.a
      FROM OPENQUERY( server, 'SELECT a from b' ) rem
          ,local_table loc
     WHERE rem.id = loc.id
    

    它工作!

    所以我把它放在这里,以防它对其他人有帮助。