----- Original Message ----- From: "Tom Lane" <[EMAIL PROTECTED]> > "Mike Mascari" <[EMAIL PROTECTED]> writes: > > From: "Tom Lane" <[EMAIL PROTECTED]> > >> That's a rowtype variable, though, not a record variable. I believe our > >> code will work the same as Oracle for that case. > > > 4 TYPE EmpRec IS RECORD ( > > 5 id NUMBER, > > 6 name VARCHAR(20) > > 7 ); > > 8 emp_rec EmpRec; > > > behaves similarly by returning a NULL value for an unmatched row. > > Hm, that's interesting --- does Oracle not think that "record" means > what our plpgsql think it means? I thought we'd stolen all those > semantics straight from Oracle. > > In plpgsql, you can declare a variable like so: > foo RECORD; > and that means that it's an unspecified rowtype, whose fields will be > determined on-the-fly to match the query that assigns to it. It's this > case that I'm concerned about, because right now it behaves differently > from the case where the variable's rowtype is predetermined.
I searched through the Oracle 8 PL/SQL docs pretty thoroughly and couldn't find an example of a variable whose type was determined at run-time. Maybe the pgPL/SQL RECORD implementor can shed some more light on the issue, but as far as I can tell, Oracle's PL/SQL is strongly typed. 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])