我可以使用PL / SQL开发人员将Oracle(12.1)SQL结果导出到excel
但有时要求是为列/标题赋予有意义的名称
例如“过去21天的总金额”
很明显,它超过了30个字符并获得ORA-00972 identifier is too long
在Oracle 12.2版之前,标识符的长度不能超过30个字符。请参阅《 Oracle SQL语言参考》。
但是,从版本12.2开始,它们的最大长度为128个字节。 (注意:字节,而不是字符)。
我可以使用不同的列名导出而无需在输出excel中手动重命名吗?
编辑
当我定义不明确别名时,它可以超过30个限制,例如使用内部选择
(select 'longtext' from veryverylongtablename),
将创建列selectlongtextfromveryverylongtablename
或
'total amount for previous 21 days'||id
将创建列totalamountforprevious21daysis
那么有没有一种显示有意义的标题的解决方法?
答案 0 :(得分:0)
根据AllRoundAutomations,这是不可能的
在Oracle 12.1上这是不可能的。在Oracle 12.2和更高版本上,您可以使用长标识符。
答案 1 :(得分:0)
否,无法执行此操作。如文档中所述,对象名称(表,列,触发器,包等)的最大长度为 30个字节 :
http://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF51129
唯一的例外是数据库名称(最多8个字节)和数据库链接(128个字节)。
从Oracle Database 12.2开始,名称的最大长度增加到128个字节(提供的兼容设置为12.2或更高)。数据库名称仍限制为8个字节。磁盘组,可插拔数据库(PDB),回滚段,表空间和表空间集的名称限制为30个字节。