我有一个名为“points”的表,其中有一列名为“geom”的几何类型。我想创建一个函数,该函数返回一个包含“几何”数据类型列的表。当目标表(点)的名称在“RETURN QUERY”子句中硬编码时,我已成功返回具有正确数据类型的表。我想将表的名称作为函数的输入(以动态方式)。如何更改此代码以接受目标表的名称(在此代码中称为点)作为输入?
CREATE OR REPLACE FUNCTION milad_points()
RETURNS TABLE (geom points.geom%TYPE)
AS $$
BEGIN
RETURN QUERY SELECT points.geom FROM points;
END;
$$ LANGUAGE PLPGSQL;
我知道为了管理动态查询,我们必须将其作为字符串并将其作为EXECUTE sql_string运行。但是,我无法在上述示例中使用它。