sql - ORA-02287 此处不允许序列号

标签 sql oracle oracle11g

我有一个表名测试,其中包含三列 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 此处不允许序列号。

最佳答案

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

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
)

关于sql - ORA-02287 此处不允许序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17161265/

相关文章:

SQL Server 使用通用字段元素生成 XML

javascript - 在sequelize where查询中使用OR语句

SQL Insert 大数据集

sql - 从员工表中选择最早雇用的员工

sql - Oracle 中完全外连接的奇怪行为 - 如何解释?

mysql - 如何从另一个MySQL中减去一行

sql - 更改包含数据的表中列的大小

sql - 是否可以在Oracle 11g SQL中为子查询赋予别名?

java - 如何优化 Oracle 11g 和 Hibernate 的批量 INSERT?

php - 从数据库中读取单个值并将其保存在变量中