Re: [SQL] Copying a rowtype variable. - Mailing list pgsql-general

From Josh Berkus
Subject Re: [SQL] Copying a rowtype variable.
Date
Msg-id web-1813013@davinci.ethosmedia.com
Whole thread Raw
In response to Copying a rowtype variable.  ("Rison, Stuart" <srison@rvc.ac.uk>)
List pgsql-general
Stuart,

> Just doing a bit of PL/PGSQL so my first question is:
>
> 1) should PL/PGSQL questions be posted to the general mailing list,
> the sql
> mailing list or both?

The SQL list is the best place.

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

Another thing to try is, instead of a simple variable assignment,

SELECT current_row INTO previous_row;

... and see if that works.   I'll tinker later today; there has to be a
way to do it.

-Josh Berkus

pgsql-general by date:

Previous
From: TJ
Date:
Subject: timezone locale fun
Next
From: tlharvey@alumni.princeton.edu (Tyrone)
Date:
Subject: computational question