IN
最初のパラメータがa varchar
で、2番目のパラメータがのリストである2つのパラメータを持つ関数を書きたいのvarchars
ですが。これらに基づいて、列の量と型の名前が異なるテーブルを返しますvarchar
。
私が見た限りでは、私は常にオブジェクト/レコードとそのテーブルタイプを作成する必要があります。これは私のアイデアが機能しないことを意味しますか?基本的な目標は、システムコマンドの出力をテーブルとして呼び出し先に返すことです。
編集:タスクの詳細。OSコマンドを発行し、出力を消費して、テーブルとして返したいのですが。OSコマンドからの出力は、CSV形式のデータになります。実行時には、返される行の数はわかりませんが、2番目の引数として渡される列の数しかわかりません。私は、動的にJavaを使用して考えていたSTRUCT
とARRAY
それらを含みます。私は前者のアプローチを好みますが。
次のようになります。
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