首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ORA-00972标识符别名列名太长

ORA-00972标识符别名列名太长
EN

Stack Overflow用户
提问于 2010-06-21 22:34:46
回答 6查看 275.6K关注 0票数 86

我有一个查询,比如:

代码语言:javascript
复制
SELECT column as averyveryveryverylongalias (more than 30 characters)
   FROM Table_name

它返回错误ORA-00972 identifier is too long,有什么技巧可以让它在不缩短别名的情况下工作吗?

谢谢

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-06-21 22:36:20

不可以,在Oracle版本12.2之前,标识符的长度不允许超过30个字符。参见the Oracle SQL Language Reference

然而,from version 12.2 they can be up to 128 bytes long. (注意:字节,而不是字符)。

票数 115
EN

Stack Overflow用户

发布于 2015-08-13 01:39:51

该错误也是由对引号和单引号的古怪处理引起的。若要在查询中包含单引号,请使用双单引号。

这不管用

代码语言:javascript
复制
select dbms_xmlgen.getxml("Select ....") XML from dual;

也不是这样

代码语言:javascript
复制
select dbms_xmlgen.getxml('Select .. where something='red'..') XML from dual;

但这确实起作用了

代码语言:javascript
复制
select dbms_xmlgen.getxml('Select .. where something=''red''..') XML from dual;
票数 13
EN

Stack Overflow用户

发布于 2013-04-19 16:19:21

Oracle存储标识符名称的对象(例如,用户的表名存储在名为USER_TABLES的表中,用户的列名存储在名为USER_TAB_COLUMNS的表中),名称列(例如,USER_TABLES中的TABLE_NAME )大小为Varchar2(30)...and它在对象或标识符的所有系统表中都是统一的--

代码语言:javascript
复制
 DBA_ALL_TABLES         ALL_ALL_TABLES        USER_ALL_TABLES
 DBA_PARTIAL_DROP_TABS  ALL_PARTIAL_DROP_TABS USER_PARTIAL_DROP_TABS
 DBA_PART_TABLES        ALL_PART_TABLES       USER_PART_TABLES 
 DBA_TABLES             ALL_TABLES            USER_TABLES           
 DBA_TABLESPACES        USER_TABLESPACES      TAB
 DBA_TAB_COLUMNS      ALL_TAB_COLUMNS         USER_TAB_COLUMNS 
 DBA_TAB_COLS         ALL_TAB_COLS            USER_TAB_COLS 
 DBA_TAB_COMMENTS     ALL_TAB_COMMENTS        USER_TAB_COMMENTS 
 DBA_TAB_HISTOGRAMS   ALL_TAB_HISTOGRAMS      USER_TAB_HISTOGRAMS 
 DBA_TAB_MODIFICATIONS  ALL_TAB_MODIFICATIONS USER_TAB_MODIFICATIONS 
 DBA_TAB_PARTITIONS   ALL_TAB_PARTITIONS      USER_TAB_PARTITIONS
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3085562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档