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

时间:2019-09-19 20:23:12

标签: sql oracle alias

在我的SQL查询中,我将所有表列值与管道定界符连接起来,并添加列名(管道已倾斜)作为别名。 它说指定了一个超过30个字符的标识符。 还有其他选择吗?

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

1 个答案:

答案 0 :(得分:0)

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

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

我没有访问Oracle的权限,但它可与SQL-Server一起使用,并在管道名称记录上方提供空白列名称。

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