Ich möchte eine Funktion mit zwei IN
Parametern schreiben, wobei der erste eine varchar
und der zweite eine Liste von ist varchars
. Basierend auf diesen möchte ich eine Tabelle mit unterschiedlichen Spaltenmengen und Typnamen zurückgeben varchar
.
Soweit ich gesehen habe, muss ich immer ein Objekt / einen Datensatz und einen Tabellentyp davon erstellen. Das bedeutet, dass meine Idee nicht funktioniert? Das zugrunde liegende Ziel besteht darin, eine Systembefehlsausgabe als Tabelle an einen Angerufenen zurückzugeben.
Bearbeiten: mehr zur Aufgabe. Ich möchte einen Betriebssystembefehl ausgeben, die Ausgabe verbrauchen und als Tabelle zurückgeben. Die Ausgabe des OS-Befehls sind CSV-formatierte Daten. Zum Zeitpunkt der Ausführung kenne ich nicht die Anzahl der zurückzugebenden Zeilen, sondern nur die Anzahl der Spalten, die als zweites Argument übergeben werden. Ich dachte darüber nach, Java mit einer Dynamik zu verwenden STRUCT
und sie zu ARRAY
enthalten. Obwohl ich den früheren Ansatz vorziehen würde.
Es sollte so aussehen:
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