【发布时间】:2017-06-08 15:18:33
【问题描述】:
下面的选择语句导致ORA-00972: identifier is too long 错误。怀疑语法错误。运行此选择以在 Oracle 数据库上的 SQLPLUS 中生成视图。请指教。谢谢。
SELECT DISTINCT
(CASE WHEN PROCEDURE_CODE IS NULL THEN REVENUE_CODE ELSE PROCEDURE_CODE END)
FROM HEALTH.DATA
【问题讨论】:
-
语句在语法上没有错。您是否尝试过不区分地运行它?也可以尝试在 fiddle 或 dual 语句的帮助下重现它,给我们一些可以使用的东西
-
您缺少该值的别名。创建视图时,所有列都必须通过 Oracle 中的名称定义规则。所以基本上,您需要为该列添加一个名称。
-
不相关,但是:
case表达式周围的括号没有用。 -
好奇你在创建视图时没有得到
ORA-00998: must name this expression with a column alias。可能有助于显示您正在运行的整个语句,并包含完整的 Oracle 版本。