[英]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.