> 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
Iam 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.
>