私は、(x整数、y整数)として定義されている "小さな"テーブルのx列を返すplpgsqlを使用して、関数内のビューを作成しようとしています。関係は存在しませんPLPGSQL
create or replace function skyline_naive2(dataset text) returns setof integer as
$$
declare
fullx text;
begin
fullx = dataset||'_skyline_naive2';
execute format('create view %s as select x,y from %s',fullx,dataset);
return query select x from fullx;
end
$$ language plpgsql;
select * from skyline_naive2('small');
それは、
私はfullx関係がないので、それがあることを理解し、私は、変数名を使用してビューを呼び出したい「関係fullxが存在しません」を返します。
すべてのヘルプはあなたがあなたの動的なクエリをEXECUTE
する必要が
ありがとうたくさんあります。 また、setof整数の代わりに整数を返す場合には何ができますか? foreg return query format( 'count%(x)から%I'、fullx)を実行します。 しかし、戻り値のクエリはsetof –
でしか機能しません。この場合、整数変数 'execute ... into variable'を宣言して返すことができます。 – klin