Hi,

instead of cast(mostype as varchar) try mostype::varchar


Thanks
Sreelatha

On Sun, Apr 4, 2010 at 10:04 PM, Pavel Stehule <pavel.steh...@gmail.com>wrote:

> 2010/4/4 Scott Geller <sgeller...@gmail.com>:
> > 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);
>
> maybe select dist('mostype')
>
> regards
>
> Pavel Stehule
>  >
> > Your help is appreciated
> >
> > Scott
> >
> > --
> > Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> > To make changes to your subscription:
> > http://www.postgresql.org/mailpref/pgsql-general
> >
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

Reply via email to