Dynamic plpgsql help
От | Scott Geller |
---|---|
Тема | Dynamic plpgsql help |
Дата | |
Msg-id | h2lc598163c1004040918gce411fc9ybdf5fba189998274@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: Dynamic plpgsql help
|
Список | pgsql-general |
Hi I have the following plpgsql function that works: DROP TYPE if exists distr CASCADE; CREATE TYPE distr AS (b bigint, var varchar); DROP FUNCTION IF EXISTS dist() cascade; CREATE or replace FUNCTION dist() RETURNS setof distr AS $$ begin return query EXECUTE 'Select count(*) as b, cast(mostype as varchar) as var from segmentation group by mostype'; end $$ LANGUAGE 'plpgsql' VOLATILE; ; select * from dist(); When I try to make it dynamic, I get the error: ERROR: column "mostype" does not exist DROP TYPE if exists distr CASCADE; CREATE TYPE distr AS (b bigint, var varchar); DROP FUNCTION IF EXISTS dist(text) cascade; CREATE or replace FUNCTION dist(text) RETURNS setof distr AS $$ begin return query execute 'Select count(*) as b, cast( ' || quote_ident($1) || ' as varchar) as var from segmentation group by ' || quote_ident($1); end $$ LANGUAGE 'plpgsql' VOLATILE; ; select dist(mostype); Your help is appreciated Scott
В списке pgsql-general по дате отправления: