OCI interacts with stored procedure having RECORD parameter
From: Ming-Ding Tsao <mtsao_at_cas.org>
Date: 1996/08/30
Message-ID: <x6eu3tk7jxp.fsf_at_mdt26awm.i-have-a-misconfigured-system-so-shoot-me>#1/1
Date: 1996/08/30
Message-ID: <x6eu3tk7jxp.fsf_at_mdt26awm.i-have-a-misconfigured-system-so-shoot-me>#1/1
Question: In R7.3.2 using OCI in C language to call a stored procedure with a RECORD parameter as OUT how to use obndra() or obindps() to bind the local output variable to store the passed RECORD value ?
For example:
CREATE OR REPLACE PACKAGE test AS TYPE TestType is RECORD ( f1 NUMBER(10) f2 RAW(32760)); PROCEDURE get_row( in1 IN INTEGER, out1 OUT TestType); END test;
The results of odessp() for above "test.get_row" procedure would be(partially):
Overload Level Pos procName Datatype 0 0 1 IN1 2 0 0 2 AROW 250 0 1 1 F1 2 0 1 2 F2 23 static text plsql_block[] = "begin \ test.get_row(:in1, :out1 );\ end;";
In C using OCI to execute above PL/SQL block, if using obndra() I doubt it can work with ":out1" directly. Should it be three call for AROW, F1, F2 separately or just for F1 and F2 ? how to do it ?
If using obindps() with operation code as "array of structure" how do you relate to above RECORD ?
If above questions can be answered, can OCI handle "nested" RECORD parameter ?
Thanks in advance, Ming Tsao
--Received on Fri Aug 30 1996 - 00:00:00 CEST