pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Jean-Luc Lachance <jllachan@nsd.ca>
To: Rison, Stuart <srison@rvc.ac.uk>
Cc: ''pgsql-sql@postgresql.org' ' <pgsql-sql@postgresql.org>
Cc: 'Josh Berkus ' <josh@agliodbs.com>
Subject: Re: Copying a rowtype variable.
Date: Thu, 07 Nov 2002 11:28:55 -0500
Message-ID: <3DCA94C7.4EA02207@nsd.ca> (raw)
References: <6BD8CE460CC6EE40B83DDFCED609F84B964D55@cmnt4008.rvc.ac.uk>

I would personnaly like this feature (assigning a composite from another
similar composite) to be added to PLPGSQL. Another nice feature would be
to able to insert a composite into a table without have to name all
atributes.

Just my $.02


"Rison, Stuart" wrote:
> 
> >> 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.
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org



view thread (5+ messages)  latest in thread

Message-ID: <3DCA94C7.4EA02207@nsd.ca>
Permalink:  ../3DCA94C7.4EA02207@nsd.ca/
Also on:    postgresql.org/message-id/3DCA94C7.4EA02207@nsd.ca

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: jllachan@nsd.ca, srison@rvc.ac.uk, josh@agliodbs.com
  Subject: Re: Copying a rowtype variable.
  In-Reply-To: <3DCA94C7.4EA02207@nsd.ca>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox