【问题标题】:CTEs in Oracle 10g - "unsupported column aliasing"Oracle 10g 中的 CTE - “不支持的列别名”
【发布时间】:2012-06-20 22:25:56
【问题描述】:

当我尝试执行使用 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)。

为什么代码不执行?

【问题讨论】:

    标签: sql oracle common-table-expression


    【解决方案1】:

    你错过了 AS:

    WITH cte1 AS
    (
      SELECT *
      FROM test_table
    )
    SELECT *
    FROM cte1;
    

    【讨论】:

      【解决方案2】:

      我刚刚想通了——我需要在 CTE 名称后加上 AS 关键字。所以声明应该是:

      WITH cte1 AS
      (
        SELECT *
        FROM test_table
      )
      SELECT *
      FROM cte1;
      

      【讨论】:

      • 你比我快了 15 秒,很高兴你自己解决了这个问题!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-09
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多