SQL文本
WITH RECURSIVE fibonacci (n, fib_n, next_fib_n) AS
(
WITH RECURSIVE fibonacci (n, fib_n, next_fib_n) AS
(
SELECT 1, 0, 1
UNION ALL
SELECT n + 1, next_fib_n, fib_n + next_fib_n
FROM fibonacci WHERE n < 10
)
SELECT * FROM fibonacci
union all
SELECT n + 1, next_fib_n, fib_n + next_fib_n
FROM fibonacci WHERE n < 10
)
SELECT * FROM fibonacci;
测试环境
MySQL
MySQL 版本
mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.0.33 |
+-----------+
1 row in set (0.00 sec)
结果
mysql> WITH RECURSIVE fibonacci (n, fib_n, next_fib_n) AS
-> (
-> WITH RECURSIVE fibonacci (n, fib_n, next_fib_n) AS
-> (
-> SELECT 1, 0, 1
-> UNION ALL
-> SELECT n + 1, next_fib_n, fib_n + next_fib_n
-> FROM fibonacci WHERE n < 10
-> )
-> SELECT * FROM fibonacci
-> union all
-> SELECT n + 1, next_fib_n, fib_n + next_fib_n
-> FROM fibonacci WHERE n < 10
-> )
-> SELECT * FROM fibonacci;
+------+-------+------------+
| n | fib_n | next_fib_n |
+------+-------+------------+
| 1 | 0 | 1 |
| 2 | 1 | 1 |
| 3 | 1 | 2 |
| 4 | 2 | 3 |
| 5 | 3 | 5 |
| 6 | 5 | 8 |
| 7 | 8 | 13 |
| 8 | 13 | 21 |
| 9 | 21 | 34 |
| 10 | 34 | 55 |
| 2 | 1 | 1 |
| 3 | 1 | 2 |
| 4 | 2 | 3 |
| 5 | 3 | 5 |
| 6 | 5 | 8 |
| 7 | 8 | 13 |
| 8 | 13 | 21 |
| 9 | 21 | 34 |
| 10 | 34 | 55 |
+------+-------+------------+
19 rows in set (0.00 sec)
OceanBase
OB版本(MySQL模式)
执行结果
问题
请问这个是OB暂时不支持这种写法,还是一个BUG?