----- 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])