【问题标题】:ORA-00907: missing right parenthesis in synapseORA-00907: 突触中缺少右括号
【发布时间】:2021-06-06 16:34:23
【问题描述】:
qu = 'SELECT DS.TABLESPACE_NAME AS SCHEMA_NAME,
             SEGMENT_NAME AS TABLE_NAME,
             ROUND(SUM(DS.BYTES) / (1024 * 1024)) AS MB
        FROM DBA_SEGMENTS DS
       WHERE SEGMENT_NAME IN (SELECT TABLE_NAME
                                FROM DBA_TABLES)
       GROUP BY DS.TABLESPACE_NAME, SEGMENT_NAME;'

当我在突触笔记本中执行此查询时,它显示“缺少右括号”。 有人可以帮忙吗?

【问题讨论】:

    标签: oracle azure-synapse


    【解决方案1】:

    似乎还可以,除非您需要删除终止分号:

    ... GROUP BY DS.TABLESPACE_NAME, SEGMENT_NAME;'
                                                 ^
                                                 |
                                               here
    

    查询本身运行正常:

    SQL> SELECT ds.tablespace_name AS schema_name,
      2         segment_name       AS table_name,
      3         round(SUM(ds.bytes)/(1024 * 1024)) AS mb
      4  FROM dba_segments ds
      5  WHERE segment_name IN (SELECT table_name
      6                         FROM dba_tables
      7                        )
      8  GROUP BY ds.tablespace_name,
      9           segment_name;
    
    SCHEMA_NAME                    TABLE_NAME         MB
    ------------------------------ ---------- ----------
    SYSTEM                         OBJ$                2
    SYSTEM                         UNDO$               0
    SYSTEM                         FILE$               0
    <snip>
    

    【讨论】:

    • 感谢您的回复,但是当我删除终止分号时,它显示“SQL 命令未正确结束”
    • Hm ...查询已正确编写,它在我的 11gXE Oracle 数据库上运行良好 - 请参阅我发布的示例。也许它与您使用的工具有关。
    猜你喜欢
    • 2018-05-23
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多