【问题标题】:ORA - 02287 sequence number not allowed hereORA - 02287 此处不允许序列号
【发布时间】:2013-06-18 05:37:39
【问题描述】:

我有一个表名 test,它包含三列 id、m_id 和 s_m_id

我正在执行下面的查询

select id,test.nextval listagg(m_id || ',' || s_m_id, ';') within group (order by m_id) as merge_ids 
from test t group by id

我收到错误 ORA - 02287 此处不允许序列号。

【问题讨论】:

  • 看起来您缺少,||
  • 您能否提供确切的查询我在哪里以及缺少什么
  • 为什么要使用 test.nextval?有什么目的吗?

标签: sql oracle oracle11g


【解决方案1】:

你试图一口气做太多事情。为分组创建一个子查询,稍后添加序列号:

select id, test.nextval, merge_ids
from (
    select id, listagg(m_id || ',' || s_m_id, ';') within group (order by m_id) as merge_ids
    from test t
    group by id
)

【讨论】:

  • 嗨 Codo,我想要结果 |分开。同样通过您的查询,它将显示在各个列中
  • 这与您最初的问题有什么关系?我知道问题是 ORA-02287 错误。
  • 您提供的查询解决了 ORA 错误。感谢那。但我希望数据应该出现|分开
  • 很抱歉,我不太明白您期望的结果。您最好打开一个新问题,在其中准确描述表中的数据、当前查询产生的结果以及您希望如何获得它。
  • Codo 感谢您的回复,我根据需要更改了查询结果。您的查询帮助我解决了 ORA 错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-09-28
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 2020-03-31
  • 2018-11-16
  • 2013-06-07
相关资源
最近更新 更多