Использовать результат запроса SQL в качестве значения для переменной

У меня есть запрос, который извлекает измерения производительности ряда API и тех, которые я хочу сохранить со временем в разных файлах в одной папке. Скажите каждый час один прогон и один выходной файл.

Заявление Invantive Script

local export results as "${exportfilename}" format xml

Можно сделать это, когда у вас есть exportfilename правильно настроен.

С Oracle SQL*Plus вы можете запомнить результат запроса в переменной с помощью column ... new_value синтаксис.

Как я могу установить exportfile используя результат запроса Invantive SQL?

1 ответ

Решение

Решение было использовать ${outcome:row,column} синтаксис как в:

local define outfolder "c:\temp"

select sdy3.value || '-' || lpad(year(sysdate), 4, '0') || lpad(month(sysdate), 2, '0') || lpad(day(sysdate), 2, '0') || lpad(hour(sysdate), 2, '0') || lpad(minute(sysdate), 2, '0') ||'.xml' file_name
from   exactonlinerest..systemdatacontainerproperties sdy1
join   exactonlinerest..systemdatacontainerproperties sdy2
on     sdy2.data_container_alias = 'default'
and    sdy2.name = 'provider-description'
join   exactonlinerest..systemdatacontainerproperties sdy3
on     sdy3.data_container_alias = 'default'
and    sdy3.name = 'provider-short-name'
where  sdy1.data_container_alias = 'default'
and    sdy1.name = 'data-container-id'

local define exportfilename "${outfolder}\${outcome:0,0}"

<<< Run actual SQL>>>

local export results as "${exportfilename}" format xml

${outcome:...,...} синтаксис помещает строковое представление соответствующего номера строки (0..max) и номера столбца (0..max) в качестве значения в указанное имя переменной.

Другие вопросы по тегам