Re: help with PL/PgSQL bug - Mailing list pgsql-hackers

From Mike Mascari
Subject Re: help with PL/PgSQL bug
Date
Msg-id 001201c2b9e1$87155ea0$0102a8c0@mascari.com
Whole thread Raw
In response to help with PL/PgSQL bug  (Neil Conway <neilc@samurai.com>)
Responses Re: help with PL/PgSQL bug  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
> "Mike Mascari" <mascarm@mascari.com> writes:
> >> Does Oracle's PL/SQL have a concept of record variables?  If so, what
> >> do they do in this situation?
>
> > In Oracle 8, a row of NULLs:
>
> >   1  CREATE OR REPLACE FUNCTION foo(t IN NUMBER)
> >   2  RETURN NUMBER
> >   3  IS
> >   4   emp_rec employees%ROWTYPE;
>
> That's a rowtype variable, though, not a record variable.  I believe our
> code will work the same as Oracle for that case.
>
 1  CREATE OR REPLACE FUNCTION foo(t IN NUMBER) 2  RETURN NUMBER 3  IS 4  TYPE EmpRec IS RECORD ( 5   id NUMBER, 6
nameVARCHAR(20) 7  ); 8  emp_rec EmpRec; 9  BEGIN10  SELECT *11  INTO emp_rec12  FROM employees13  WHERE id = t;14
RETURN(emp_rec.id);15* END; 

behaves similarly by returning a NULL value for an unmatched row.

FWIW,

Mike Mascari
mascarm@mascari.com



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: src/port/fseeko.c revision 1.9 broken on NetBSD
Next
From: Christopher Kings-Lynne
Date:
Subject: Re: v7.3.1 psql against a v7.2.x database ...