----- Original Message ----- 
From: "Tom Lane" <[EMAIL PROTECTED]>
> "Mike Mascari" <[EMAIL PROTECTED]> 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   name VARCHAR(20)
  7  );
  8  emp_rec EmpRec;
  9  BEGIN
 10  SELECT *
 11  INTO emp_rec
 12  FROM employees
 13  WHERE id = t;
 14  RETURN (emp_rec.id);
 15* END;

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

FWIW,

Mike Mascari
[EMAIL PROTECTED]


---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to