I'd like to write a function with two IN
parameters where the first one is a varchar
and the second a list of varchars
. Based on these I want to return a table with varying column amounts and names of type varchar
.
As far as I have seen, I have to always to create an object/record and a table type of it. This means that my idea won't work? The underlying goal is to pass a system command output back to a callee as a table.
Edit: more on the task. I want to issue an OS command, consume the output and return it back as a table. The output from the OS command is going to be CSV-formatted data. At the time of execution I do not know the amount of rows to be returned but only the amount of columns which is passed as the second arg. I was thinking about using Java with a dynamic STRUCT
and an ARRAY
containing them. Though I would prefer the former approach.
It should look like this:
create function(clob query, list of varchars cols) returns table
begin
execute system command(query, cols);
examine sysout from command;
return tabular data from syscmd as table;
end