当我尝试执行使用CTE的sql语句时收到以下错误:
ORA-32033: unsupported column aliasing
32033. 00000 - "unsupported column aliasing"
*Cause: column aliasing in WITH clause is not supported yet
*Action: specify aliasing in defintion subquery and retry
Error at Line: 1 Column: 9
我要执行的代码是:
WITH cte1
(
SELECT *
FROM test_table
)
SELECT *
FROM cte1;
我知道这是一个简单的陈述,不需要使用CTE,但我只是想在Oracle中开始使用CTE(我来自T-SQL)。
为什么代码不执行?
答案 0 :(得分:9)
你错过了AS:
WITH cte1 AS
(
SELECT *
FROM test_table
)
SELECT *
FROM cte1;
答案 1 :(得分:8)
我只是想出来了 - 我需要CTE名称后面的AS关键字。所以陈述应该是:
WITH cte1 AS
(
SELECT *
FROM test_table
)
SELECT *
FROM cte1;