【问题标题】:@table in FROM clauseFROM 子句中的@table
【发布时间】:2020-07-06 21:17:19
【问题描述】:

我的经理(目前不在 IT 环境中工作)向我发送了一大段代码来运行一些数据,但是其中一行让我感到困惑。在某些情况下,这是 ORACLE SQL。

她有一行设置为“FROM ma1 @proddb m1”

我目前不确定它的作用或什至试图实现的目标。我很难将其可视化,因为我无法访问数据库本身。

该行的正确语法是什么,因为那是我目前遇到错误的地方。谢谢!

【问题讨论】:

  • This might be useful?。你遇到了什么错误? (如果您无权访问数据库,您收到错误可能并不奇怪,但是...)
  • 是的,正确的格式应该是“... from ma1@proddb m1...”。表名和数据库链接名称之间不应有空格。这只有在您正在访问的数据库架构中已经定义了一个名为“proddb”的工作数据库链接时才有效。

标签: sql database oracle


【解决方案1】:

该行的正确语法是什么,因为这是我目前遇到错误的地方。

@ 表示database link

syntax 是:

FROM table_name@dblink table_alias

所以对你来说:

  • ma1 是表/视图/物化视图的名称。
  • proddb 是数据库链接的名称。
  • m1 是表别名。

您的语法唯一有问题的是您需要删除ma1@proddb 之间的空格字符。如果您这样做,那么假设数据库链接和远程表/视图/物化视图存在,它应该可以工作。

【讨论】:

    【解决方案2】:

    "FROM ma1@proddb m1" -> ma1 是来自不同数据库的表,使用 @my_remote_DB 您可以访问远程数据库上的对象。在您的情况下 proddb 是您的远程数据库链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      • 2015-10-08
      • 2022-11-08
      • 1970-01-01
      • 1970-01-01
      • 2019-04-20
      • 2011-10-03
      相关资源
      最近更新 更多