> regy1'> output_rec := user_rec; Here you can't assign the entire record (user_rec) into a variable. You can assign either one of the following. 1. output_rec := user_rec.fname; 2. output_rec := user_rec.lname; 3. output_rec := user_rec.fname || user_rec.lname (This will concantenate the two fields of same data type. I am not sure whether you will require this). I hope this will solve your problem. Regards, guru. bk SYSTEMS (P) Ltd. P . N . G U R U P R A S A D ------------------------------------------------------------------------------- On Mon, 14 May 2001, Radhika Vutukuru wrote: > Hi , > I am trying to create a stored procedure that returns a user defined type. The >following piece of code shows the way I am trying to do it. > regy1=> create function regyuser_rec(int) returns varchar as ' declare > regy1'> v_userid alias for $1; > regy1'> output_rec varchar(400); > regy1'> user_rec record; > regy1'> > regy1'> begin > regy1'> > regy1'> select fname ,lname into user_rec from regyuser > regy1'> where userid = v_userid; > regy1'> output_rec := user_rec; > regy1'> return output_rec; > regy1'> end; > regy1'> ' language 'plpgsql'; > CREATE > regy1=> select regyuser_rec(2); > ERROR: Attribute 'user_rec' not found > > Does a postgresql function returns a user defined object? > If so, could I have an example. > I am new to postgresql, and was trying to figure out what's wrong with my code.Could >some one help me. > Thanks, > Radhika. > ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly