Мне нужно преобразовать одну строку, полученную с помощью оператора select, в один столбец с конкатенированными значениями отдельных столбцов результата. Проблема в том, что столбцы неизвестны и могут различаться по количеству.
Допустим, таблица выглядит примерно так:
Table USER
Name Surname Age Logindate City
Max Smith 25 20.05.20 NY
Мне нужно SELECT * FROM USER
и преобразовать результат в одну строку, например Max, Smith, 25, 20.05.20, NY
, или с именами столбцов Name: Max, Surname: Smith, Age: 25, Logindate: 20.05.20, City: NY
, которые я могу впоследствии вставить в столбец другой таблицы. Имя таблицы, из которой я выбираю, известно и жестко запрограммировано в операторе SELECT, который выполняется внутри хранимой процедуры.
Поскольку количество столбцов и имена столбцов неизвестны, я не могу использовать функцию CONCAT
. Я также собирался удовольствоваться выходным форматом SELECT JSON_OBJECT(*) FROM USER
, но функция с таким использованием звездочного оператора не поддерживается в Oracle18c (есть в Oracle19c).
Преобразование значений столбца одной строки в одну строку кажется простой операцией, но я не смог найти простого решения.