Re: Copying a rowtype variable.

From: "Rison, Stuart" <srison(at)rvc(dot)ac(dot)uk>
To: "''pgsql-sql(at)postgresql(dot)org' '" <pgsql-sql(at)postgresql(dot)org>
Cc: 'Josh Berkus ' <josh(at)agliodbs(dot)com>
Subject: Re: Copying a rowtype variable.
Date: 2002-11-06 21:30:22
Message-ID: 6BD8CE460CC6EE40B83DDFCED609F84B964D55@cmnt4008.rvc.ac.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-sql

>> 2) I am looking for an elegant way of copying a rowtype variable:
>>
>> eg.
>>
>> DECLARE
>> current_row orf%ROWTYPE;
>> previous_row orf%ROWTYPE;
>> BEGIN
>>
>> LOOP
>> -- use cursors or FOR SELECT to get values into current_row
>> -- now try this:
>>
>> previous_row = current_row;
>> END LOOP;
>> END;
>>
>> Now, as I anticipated, this fails because a rowtype variable is a
>> composite
>> variable. One working alternative is to do:
>>
>
> I haven't tried this. One thing I notice above is that you're using
> the equality operator "=" instead of the assignment operator ":=" .
> Usually Postgres lets you slack on this, but it would be worth trying
> to see whether that has an effect on the problem.
>

Fair point. But "previous_row := current_row" doesn't work either.

> Another thing to try is, instead of a simple variable assignment
>
> SELECT current_row INTO previous_row;
>
> ... and see if that works.

Well, I had high hopes for that one... but it didn't work either!

> I'll tinker later today; there has to be a way to do it.

I'd definitely appreciate further suggestions, but thanks all the same for
you help. I have a feeling that you might have to write a PL function to
perform the operation... but I haven't really thought about it!

Stuart.

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Josh Berkus 2002-11-06 22:27:16 Cannot assign ROWTYPE, RECORD variables in PL/pgSQL
Previous Message Bruce Momjian 2002-11-06 18:01:26 Re: Error in chkpass.c (contrib area) with suggestion

Browse pgsql-sql by date

  From Date Subject
Next Message Josh Berkus 2002-11-06 22:27:16 Cannot assign ROWTYPE, RECORD variables in PL/pgSQL
Previous Message Masaru Sugawara 2002-11-06 17:11:42 Re: query optimization question