Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Passing a PL/SQL record to an external routine?

Re: Passing a PL/SQL record to an external routine?

From: Thomas Kyte <tkyte_at_oracle.com>
Date: 18 Jul 2002 10:45:15 -0700
Message-ID: <ah6urb025fs@drn.newsguy.com>


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 Corp 
Received on Thu Jul 18 2002 - 12:45:15 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US