Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Passing a PL/SQL record to an external routine?
In article <e3a66a5.0207180857.44c2e160_at_posting.google.com>, shouck_at_pnm.com
says...
>
>I am currently calling external routines from PL/SQL. I am faced with
>a situation where it would be convenient to pass a PL/SQL record to an
>external routine. The documentation we have says it can't be done, but
>it also says you can't pass collections - and this CAN apparently be
>done. So I've come to the experts...
>
>Is it possible to pass a PL/SQL record (reference) to an external
>routine (language C)? If so, how?
>
>Oracle 8i Enterprise Edition 8.1.7.3
you cannot pass a PLSQL record. you cannot pass a plsql table type.
You can pass SQL types -- of which there are
o object types (look a heck of alot like a record)
o collections
o native datatypes like number, date, string
So, if instead of using a PLSQL record, you used a SQL object type:
create or replace type myRecord as ( a int, b date, c varchar2(50) );
you could pass that.
-- Thomas Kyte (tkyte@oracle.com) http://asktom.oracle.com/ Expert one on one Oracle, programming techniques and solutions for Oracle. http://www.amazon.com/exec/obidos/ASIN/1861004826/ Opinions are mine and do not necessarily reflect those of Oracle CorpReceived on Thu Jul 18 2002 - 12:45:15 CDT