10.12.2012 Views

Oracle C++ Call Interface Programmer's Guide

Oracle C++ Call Interface Programmer's Guide

Oracle C++ Call Interface Programmer's Guide

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Statement Class<br />

arrayLength parameter. The statement may have read-able streams which may have<br />

to be written. The returned value is one of the following:<br />

■ UPDATE_COUNT_AVAILABLE<br />

■ NEEDS_STREAM_DATA<br />

■ STREAM_DATA_AVAILABLE<br />

■ PREPARED<br />

■ UNPREPARED<br />

If UPDATE_COUNT_AVAILABLE is returned, getUpdateCount() must be called to<br />

find out the update count.<br />

If NEEDS_STREAM_DATA is returned, output Streams must be written for the<br />

streamed bind parameters. If there is more than one streamed parameter,<br />

getCurrentStreamParam() can be called to find out the bind parameter needing<br />

the stream. The getCurrentIteration() can be called to find out the iteration<br />

for which stream needs to be written.<br />

If STREAM_DATA_AVAIALBE is returned, input Streams must be read for the<br />

streamed OUT bind parameters. If there is more than one streamed parameter,<br />

getCurrentStreamParam() can be called to find out the bind parameter needing<br />

the stream. If the statement is executed iteratively, getCurrentIteration() can<br />

be called to find out the iteration for which stream needs to be read.<br />

If only one OUT value is returned for each invocation of the DML returning<br />

statement, array executes can be done for DML returning statements also. If output<br />

streams are used for OUT bind variables, they must be completely read in order. The<br />

getCurrentStreamParam() method would indicate which stream needs to be<br />

read. Similarly, getCurrentIteration() would indicate the iteration for which<br />

data is available.<br />

Note that you cannot perform array executes for queries or callable statements.<br />

Syntax<br />

Status executeArrayUpdate(unsigned int arrayLength);<br />

Parameters<br />

arrayLength<br />

The number of elements provided in each buffer of bind variables. The statement is<br />

executed this many times with each array element used for each iteration. Returns:<br />

■ UPDATE_COUNT_AVAILABLE -- call getUpdateCount()<br />

8-174 <strong>Oracle</strong> <strong>C++</strong> <strong>Call</strong> <strong>Interface</strong> Programmer’s <strong>Guide</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!