[英]Recursive CTE gives "Error at line 1/16: ORA-00905: missing keyword" error on Oracle SQL
WITH RECURSIVE cte (n) AS
(
SELECT 1
UNION ALL
SELECT n + 1 FROM cte WHERE n < 5
)
SELECT * FROM cte;
我从 Oracle 文档中复制了上述代码。 当我在 MySQL 中运行它时,它运行良好,但是当我在 Oracle 的 Apex 研讨会中运行它时,我收到错误消息“第 1/16 行错误:ORA-00905:缺少关键字”。 奇怪的是 Oracle 文档中的示例不起作用。 知道问题是什么吗?
在 oralce 中,您不能使用 SELECT 1,这仅在 Mysql 中允许
正如援助 ORACLE rdms 不是 Mysql RDMS
select * from V$VERSION;
横幅 | BANNER_FULL | BANNER_LEGACY | CON_ID |
---|---|---|---|
Oracle Database 21c Express Edition Release 21.0.0.0.0 - 生产 | Oracle Database 21c Express Edition Release 21.0.0.0.0 - 生产 版本 21.3.0.0.0 |
Oracle Database 21c Express Edition Release 21.0.0.0.0 - 生产 | 0 |
WITH cte (n) AS
(
SELECT 1 FROm DUAL
UNION ALL
SELECT n + 1 FROM cte WHERE n < 5
)
SELECT * FROM cte;
ñ |
---|
1 |
2 |
3 |
4 |
5 |
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.