ORA-00972: при создании псевдонима был указан идентификатор, содержащий более 30 символов - PullRequest
0 голосов
/ 19 сентября 2019

В моих SQL-запросах я объединяю все значения столбцов таблицы с разделителем каналов и добавляю имена столбцов (с разделителями каналов) в качестве псевдонима.Там написано, что указан идентификатор более 30 символов.Есть ли альтернатива для этого.

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

1 Ответ

0 голосов
/ 19 сентября 2019

Это может быть нереальный обходной путь, поскольку у вас будет пустой заголовок, но вы можете попробовать:

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

У меня нет доступа к Oracle, ноон работает с SQL-сервером и предоставляет пустое имя столбца над записью именованных каналов.

ОБНОВЛЕНИЕ: Чтобы уточнить: вместо использования длинного «псевдонима» этот запрос SELECTsстрока имен столбцов как «значение» в столбце с именем столбца «» (один пробел).Затем UNION используется для добавления «настоящих» данных ниже этой строки постоянной строки.

...