Вы можете вызвать ut.run()
как табличную функцию и вернуть ее результаты из запроса.Но эти результаты будут таблицы Varchars.Чтобы извлечь из этого полезную информацию, вы можете немного разобрать эти результаты.
Приведенный ниже запрос работает со стандартным репортером, но, по общему признанию, он немного грубоват и даст неверные результаты, если описания вашего теста содержат определенные строки 'trigger' (например, '[' или 'FAILED').Вы можете использовать другой репортер или написать свой собственный, чтобы выводить результаты в формате, который легче анализировать.
select
substr(result, 1, instr(result, '[') - 1) as description,
case
when result like '%(FAILED%' then
'FAILED'
when result like '%(DISABLED%' then
'DISABLED'
when result like '%(ERROR%' then
'ERROR'
else
'OK'
end as status
from
( -- Actual test run
select
trim(column_value) as result
from
table(ut.run())
)
where
result like '%[%' /* filter out irrelevant lines */;
После того, как вы получили такие результаты, их, конечно, тривиально вставить в таблицу, используя оператор insert..select.