pl/pgsqlでジェネリック関数を実行しようとしています。私は理解できない問題に直面しています。宣言ブロックで、いくつかのパラメーターに値を割り当てたのを参照してください。それらをクエリのコンポーネントとして使用する方法を知りたいのですが。(例:BEGIN / ENDブロック、groupby_join_field)
CREATE OR REPLACE FUNCTION drillThrough(whereclause anyarray, groupbyclause anyarray) RETURNS void AS $$
DECLARE
where_table varchar(19) := whereclause[1];
where_join_field varchar(19) := whereclause[2];
where_value_field varchar(19) := whereclause[3];
where_value varchar(19) := whereclause[4];
groupby_table varchar(18) := groupbyclause[1];
groupby_join_field varchar(18) := groupbyclause[2];
groupby_value_field varchar(18) := groupbyclause[3];
BEGIN
INSERT INTO test SELECT dim_date.groupby_join_field, 1 FROM dim_date;
END;
$$ LANGUAGE plpgsql;
すべてのアイデアは大歓迎です、
編集 :
この場合、goupby_join_fieldの値はyear_idなので、エンジンにdim_date.year_idを理解してもらいたいと思います。