我有一个查询,比如:
SELECT column as averyveryveryverylongalias (more than 30 characters) FROM Table_name
它返回错误 ORA-00972 identifier is too long ,有什么技巧可以让它在不缩短别名的情况下工作吗?
谢谢
发布于 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. (注意:字节,而不是字符)。
发布于 2015-08-13 01:39:51
该错误也是由对引号和单引号的古怪处理引起的。若要在查询中包含单引号,请使用双单引号。
这不管用
select dbms_xmlgen.getxml("Select ....") XML from dual;
也不是这样
select dbms_xmlgen.getxml('Select .. where something='red'..') XML from dual;
但这确实起作用了
select dbms_xmlgen.getxml('Select .. where something=''red''..') XML from dual;
发布于 2013-04-19 16:19:21
Oracle存储标识符名称的对象(例如,用户的表名存储在名为USER_TABLES的表中,用户的列名存储在名为USER_TAB_COLUMNS的表中),名称列(例如,USER_TABLES中的TABLE_NAME )大小为Varchar2(30)...and它在对象或标识符的所有系统表中都是统一的--
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