Re: Copying a rowtype variable. - Mailing list pgsql-sql

From Rison, Stuart
Subject Re: Copying a rowtype variable.
Date
Msg-id 6BD8CE460CC6EE40B83DDFCED609F84B964D55@cmnt4008.rvc.ac.uk
Whole thread Raw
In response to Copying a rowtype variable.  ("Rison, Stuart" <srison@rvc.ac.uk>)
List 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.


pgsql-sql by date:

Previous
From:
Date:
Subject: Re: query optimization question
Next
From: Achilleus Mantzios
Date:
Subject: Re: Problem: Referential Integrity Constraints lost