【问题标题】:How can I get this syntax to work in Oracle?我怎样才能让这个语法在 Oracle 中工作?
【发布时间】:2019-08-07 10:17:37
【问题描述】:

Oracle 数据库 11g 企业版版本 11.2.0.4.0 - 64 位生产

最简单的 repo,我怎样才能让它在 Oracle 中工作?

SELECT 'X' NewColumn, * FROM MyTable;

我明白了

ORA-00936: 缺少表达式 00936. 00000 - “缺少表达式” *原因:
*操作:行错误:1 列:23

我的实际问题是:

  1. 如果我使用SELECT *,我正在使用允许自动映射的 ETL 工具
  2. 我想使用ORA_ROWSCN 来实现增量加载

所以我正在运行的真正查询是:

SELECT ORA_ROWSCN, * FROM MyTable;

我得到了同样的错误

【问题讨论】:

    标签: oracle oracle11g


    【解决方案1】:

    如果您为表和* 设置别名,则该语法有效。

    SELECT ORA_ROWSCN, t.* FROM MyTable t;
    

    不知道您的 ETL 工具是否知道如何做到这一点。当然,您始终可以创建一个运行此选择的视图vw_table,然后在 ETL 工具中使用该视图。

    【讨论】:

    • 甜蜜。我知道这会很简单。是的,ETL 工具可以处理它(Azure 数据工厂)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    相关资源
    最近更新 更多