sql - ORA-03001: 未实现的功能
问题描述
我在执行以下脚本时遇到此错误 ORA-00972: identifier is too long。
SELECT distinct
" AMACADRAD_1.APP_PRTFL_ID ""Portfolio ID"""
", AMCIDRCD_1.CI_LONG_DN ""Application Description"""
", AMCIDRCD_1.CI_NM ""Application Name"""
"
解决方案
在 SQL 中,双引号用于定义标识符。它们是可选的,但如果包含它们,它们将改变名称中有效字符的性质。例如_EMP
不是一个有效的表名,但是"_EMP"
是。
如果您考虑您的查询,所有内容都用双引号括起来,这意味着所有内容都被视为标识符。此字符串长 44 个字符(包括空格)...
" AMACADRAD_1.APP_PRTFL_ID "
...这就是甲骨文抛出 ORA-00972 的原因。
此外,您极不可能有称为...之类的列
", to_char(AMCIDRCD_1.SRC_SYS_UPD_DT,'DD-MON-YYYY HH24:MI:SS') "
...所以您的查询也会在 ORA-00904 上失败。
幸运的是,解决方案很简单:去掉双引号。好吧,如果您确实需要带有空格的列别名,请保留它们,例如"Application Description"
. 但删除所有其他人。
这意味着您的查询应该如下所示:
SELECT distinct
AMACADRAD_1.APP_PRTFL_ID "Portfolio ID"
, AMCIDRCD_1.CI_LONG_DN "Application Description"
, AMCIDRCD_1.CI_NM "Application Name"
, decode(( AMCSDRHMLCD_1.MSTR_L_COL_ID ),'ML_CI_STAT_KY',( AMCSDRHMLCD_1.DSPLY_DN ),'does not apply',( AMCSDRHMLCD_1.DSPLY_DN ),'not found',( AMCSDRHMLCD_1.DSPLY_DN ),'not avail',( AMCSDRHMLCD_1.DSPLY_DN )) "Status Description"
, AMIAOAODRAGOHD_2.ASGN_GRP_ORG_LVL_2_NM "Biz Asset Owner Level 2 Name"
, AMCIDRCD_1.BUS_OWN_EMAIL_NM_LIST_TX "Bus Owner Email"
, AMCIDRCD_1.IT_ASSET_OWN_CNTCT_TX "IT Owner Email Address"
, decode(( AMCSDRHMLCD_3.MSTR_L_COL_ID ),'ML_DATA_CLS_KY',( AMCSDRHMLCD_3.DSPLY_DN ),'does not apply',( AMCSDRHMLCD_3.DSPLY_DN ),'not found',( AMCSDRHMLCD_3.DSPLY_DN ),'not avail',( AMCSDRHMLCD_3.DSPLY_DN )) "Data Class"
, decode(( AASDDRAASD_1.MSTR_L_COL_ID ),'ML_CI_CRTCLTY_KY',( AASDDRAASD_1.DSPLY_DN ),'does not apply',( AASDDRAASD_1.DSPLY_DN ),'not found',( AASDDRAASD_1.DSPLY_DN ),'not avail',( AASDDRAASD_1.DSPLY_DN )) "Business Criticality"
, to_char(AMCIDRCD_1.SRC_SYS_UPD_DT,'DD-MON-YYYY HH24:MI:SS') "CI Updated"
FROM ITR23.APP_CI_DTL_F adf
inner join ITR23.APP_D AMACADRAD_1
on AMACADRAD_1.app_ky = adf.app_ky
那些 DECODE() 语句看起来不对,我猜不出你想用它们做什么。
推荐阅读
- php - 如何检测 Laravel 中任何模型的创建
- python - 如何在 Python Jupyter Notebook 的另一个函数中循环一个函数?
- visual-studio-code - 当我关闭应用程序时,什么 Visual Studio Code 设置正在缩小我的 html?
- swift - Swift将数据从弹出窗口发送到另一个视图
- angular - “错误:根应该是 UIViewController 或 UIView” Nativescript
- spring - 得到空答案Mongodb
- javascript - 如何制作一个页面,该页面将保留在页面上,其中包含 reactjs 中的动态问题和选择?
- java - Android Studio:如何在不同的活动中发送和接收类
- authentication - 没有 cookie 的 IdentityServer4 外部身份验证
- react-native - React Native Image Picker 未配置