Eu gostaria de escrever uma função com dois IN
parâmetros em que o primeiro é um varchar
e o segundo uma lista de varchars
. Com base nisso, quero retornar uma tabela com valores variáveis de coluna e nomes do tipo varchar
.
Tanto quanto eu vi, eu tenho que sempre criar um objeto / registro e um tipo de tabela. Isso significa que minha ideia não vai funcionar? O objetivo subjacente é passar uma saída de comando do sistema de volta para um receptor como uma tabela.
Edit: mais sobre a tarefa. Quero emitir um comando do SO, consumir a saída e retorná-la como uma tabela. A saída do comando do sistema operacional será dados no formato CSV. No momento da execução, não sei a quantidade de linhas a serem retornadas, mas apenas a quantidade de colunas que são passadas como o segundo argumento. Eu estava pensando em usar Java com uma dinâmica STRUCT
e em ARRAY
contê-los. Embora eu prefira a abordagem anterior.
Deve ficar assim:
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