OK here is an example of a function where I had to create a type called
login.
How could I have written this function without having to create a type.

CREATE OR REPLACE FUNCTION "public"."loginbyindidget" (integer) RETURNS
SETOF "public"."login" AS'
declare

iindid alias for $1;
returnRec RECORD;

begin

for returnRec in select tblindividual.indid, tblindividual.title,
tblindividual.firstname, tblindividual.middlename,
tblindividual.lastname, tblindividual.suffix, tblloginname.loginname,
tblloginname.loginnameid, tblloginname.ad,tblloginname.current,
tblloginname.email, tblloginname.note
from tblindividual inner join tblloginname on (tblindividual.indid =
tblloginname.indlink)
where tblloginname.indlink = iindid
order by tblindividual.lastname, tblindividual.firstname,
tblindividual.middlename, tblloginname.loginname
loop
             return next returnRec;
     end loop;
     return;
end;
'LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

On Wed, 2005-03-16 at 13:51 +0000, Richard Huxton wrote:
> Jason Tesser wrote:
> > 1. i have a few funcions that depend on a type.  i don't want to have to 
> > srop every function just so I can drop the type and recreat everything.
> > Is there a better way to do this in Postgres?
> 
> Not really - if you're redefining the type then the functions really 
> have to be recreated. I try to keep related objects in the same file, so 
> I can re-run them all together.
> 
> > 2.  The reason I had to create my own type was because record didn't ork 
> > for me when I was selecting data across multiple tables.
> > I thought it should be dynamic but it only seems to work if i select all 
> > data in one table.  I need 2-3 columns from multiple
> > tables.  
> > Is there a better way to do this in Postgres?
> 
> Could you give more details of what you're trying? RECORD variables in 
> functions should work fine.
> 
> --
>    Richard Huxton
>    Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to