ORA-00972:创建别名时指定了超过 30 个字符的标识符



在我的SQL查询中,我用管道分隔符连接所有表列值,并将列名(管道删除(添加为别名。 它说指定了超过 30 个字符的标识符。 有没有其他选择。

select '' || '|' || tablename.field1 || '|' ||  tablename.field2 || '|' || as
"columname1 | columname2  | columname3 
| columname4 | columname5 | columname6 | columname7 | columname8 |  columname9 | " 

这对您来说可能不是一个可行的解决方法,因为您将有一个空白标题需要处理,但您可以尝试:

SELECT 'columname1 | columname2  | columname3 
| columname4 | columname5 | columname6 | columname7 | columname8 |  columname9 | ' 
AS " "
UNION
SELECT '' || '|' || tablename.field1 || '|' ||  tablename.field2 || '|' ||

我无法访问 Oracle,但它适用于 SQL-Server,并在管道名称记录上方提供了一个空白列名。

更新:澄清一下:此查询不使用长"别名",而是将列名字符串SELECTs为列名"(单空格(的列中的"值"。然后,使用UNION将"真实"数据添加到常量字符串的这一行下方。

最新更新