我正在尝试在 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