Использовать результат запроса 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) в качестве значения в указанное имя переменной.