Выберите строку данных, которая будет выходным заголовком

У меня есть очень большой набор данных, который формируется примерно так:

введите здесь описание изображения

Я хочу создать вывод отчета, который удаляет заголовки таблицы (field1, field2, field3) и вместо этого использует строку данных row1 в качестве заголовков в выводе. Я могу сделать это красиво в SQLPlus и SPOOL в CSV, но я хочу делать все в PLSQL, чтобы я мог вести журнал для параллельного вывода запроса.

Я не могу просто загрузить данные в новую таблицу, используя row1 в качестве заголовка, потому что я не могу предсказать, какими будут имена новых заголовков (для целей извлечения). Шаги удаления заголовков таблиц и извлечения в файловую систему должны выполняться вместе.

Ищу некоторые предложения. Я согласен продолжать использовать SQLPlus для извлечения, если есть способ использовать fnd_file.put_line или какой-либо другой метод для записи в журнал одновременных запросов. Насколько я могу судить, команды fnd_file.put_line не работают в SQLPlus.

Прежде чем вы все на меня наброситесь, я не хочу слышать о том, что динамические заголовки таблиц — это плохой дизайн. У меня есть свои причины в этом конкретном случае.


person alexherm    schedule 30.01.2020    source источник


Ответы (1)


Я решил это в программе SQLPlus. Прежде чем начать SPOOL вывод, я запускаю команду PROMPT с текстом, который я хочу записать в вывод запроса.

Ниже будет помещено «это какой-то текст журнала» в выводе запроса.

prompt this is some log text
person alexherm    schedule 31.01.2020