ibm-information-center/dist/eclipse/plugins/i5OS.ic.db2_5.4.0.1/rbafzmstfets.htm

437 lines
26 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="dc.language" scheme="rfc1766" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<meta name="dc.date" scheme="iso8601" content="2005-09-19" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow"/>
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="keywords" content="FETCH statement, FETCH, SQL statements,
moving position, cursor, in FETCH statement, BEFORE clause, AFTER clause,
NEXT clause, PRIOR clause, FIRST clause, LAST clause, CURRENT clause,
RELATIVE clause, cursor-name, INTO clause, variable, INTO SQL DESCRIPTOR clause,
SQL-descriptor-name, INTO DESCRIPTOR clause, descriptor-name, FOR ROWS clause,
host-structure-array, row-storage-area, positions for open, current row,
closed by error, error, open state of cursor, *CNULRQD precompiler option,
*NOCNULRQD precompiler option" />
<title>FETCH</title>
<link rel="stylesheet" type="text/css" href="ibmidwb.css" />
<link rel="stylesheet" type="text/css" href="ic.css" />
</head>
<body>
<a id="Top_Of_Page" name="Top_Of_Page"></a><!-- Java sync-link -->
<script language = "Javascript" src = "../rzahg/synch.js" type="text/javascript"></script>
<a name="fets"></a>
<h2 id="fets"><a href="rbafzmst02.htm#ToC_1071">FETCH</a></h2><a id="idx2573" name="idx2573"></a><a id="idx2574" name="idx2574"></a><a id="idx2575" name="idx2575"></a>
<a name="fetch"></a>
<p id="fetch"> The FETCH statement positions a cursor on a row of the result
table. It can return zero, one, or multiple rows, and it assigns the values
of the rows returned to variables.</p>
<a name="wq1499"></a>
<h3 id="wq1499"><a href="rbafzmst02.htm#ToC_1072">Invocation</a></h3>
<p>This statement can only be embedded in an application program. It is an
executable statement that cannot be dynamically prepared. Multiple row fetch
is not allowed in a REXX procedure.</p>
<a name="wq1500"></a>
<h3 id="wq1500"><a href="rbafzmst02.htm#ToC_1073">Authorization</a></h3>
<p>See <a href="rbafzmsth2clcu.htm#h2dclcu">DECLARE CURSOR</a> for an explanation of the authorization
required to use a cursor.</p>
<a name="wq1501"></a>
<h3 id="wq1501"><a href="rbafzmst02.htm#ToC_1074">Syntax</a></h3>
<a href="rbafzmstfets.htm#refresh"><img src="c.gif" alt="Click to skip syntax diagram" /></a><a id="idx2576" name="idx2576"></a><a id="idx2577" name="idx2577"></a><a id="idx2578" name="idx2578"></a><a id="idx2579" name="idx2579"></a>
<pre class="cgraphic"><span><img src="c.gif" alt="Read syntax diagram" longdesc="rbafzmstsyn340.htm"
border="0" /></span><a href="#skipsyn-339"><img src="c.gif" alt="Skip visual syntax diagram"
border="0" /></a> .-FROM-.
>>-FETCH--+------------------------+--+------+--<span class="italic">cursor-name</span>----->
+-NEXT-------------------+
+-PRIOR------------------+
+-FIRST------------------+
+-LAST-------------------+
| (1) |
+-BEFORE-----------------+
| (2) |
+-AFTER------------------+
+-CURRENT----------------+
'-RELATIVE--+-<span><span class="italic">variable</span></span>-+-'
'-<span class="italic">integer</span>--'
>--+--------------------+-------------------------------------->&lt;
+-<span class="italic">single-fetch</span>-------+
'-<span class="italic">multiple-row-fetch</span>-'
single-fetch:
.-,--------.
V |
|--+-INTO----<span><span class="italic">variable</span></span>-+-------------------------------------+---|
| .-LOCAL--. |
+-<span>INTO</span>--<span>SQL</span>--DESCRIPTOR--+--------+--<span class="italic">SQL-descriptor-name</span>-+
| '-GLOBAL-' |
'-INTO DESCRIPTOR--<span class="italic">descriptor-name</span>-----------------------'
multiple-row-fetch:
|--FOR--+-<span><span class="italic">variable</span></span>-+--ROWS-------------------------------------->
'-<span class="italic">integer</span>--'
>--+-INTO--<span class="italic">host-structure-array</span>----------------------------------------------------------+--|
| .-LOCAL--. |
'-+-USING--<span>SQL</span>--DESCRIPTOR--+--------+--<span class="italic">SQL-descriptor-name</span>-+--INTO--<span class="italic">row-storage-area</span>-'
| '-GLOBAL-' |
'-USING DESCRIPTOR--<span class="italic">descriptor-name</span>-----------------------'
row-storage-area:
|--:--<span class="italic">host-identifier-1</span>--+-------------------------------------+--|
| .-INDICATOR-. |
'-+-----------+--:--<span class="italic">host-identifier-2</span>-'
</pre>
<a name="skipsyn-339" id="skipsyn-339"></a>
<a name="wq1502"></a>
<div class="notelisttitle" id="wq1502">Notes:</div>
<ol type="1">
<li>If BEFORE is specified, a <span class="italic">single-fetch</span> or
<span class="italic">multiple-row-fetch</span> must not be specified.</li>
<li>If AFTER is specified, a <span class="italic">single-fetch</span> or
<span class="italic">multiple-row-fetch</span> must not be specified.</li>
</ol>
<a name="refresh"></a>
<h3 id="refresh"><a href="rbafzmst02.htm#ToC_1075">Description</a></h3>
<p>The following keywords specify a new position for the cursor: NEXT, PRIOR,
FIRST, LAST, BEFORE, AFTER, CURRENT, and RELATIVE. Of those keywords, only
NEXT may be used for cursors that have not been declared SCROLL. </p>
<dl class="parml">
<dt class="bold">NEXT </dt><a id="idx2580" name="idx2580"></a>
<dd>Positions the cursor on the next row of the result table relative to
the current cursor position. NEXT is the default if no other cursor orientation
is specified.
</dd>
<dt class="bold">PRIOR </dt><a id="idx2581" name="idx2581"></a>
<dd>Positions the cursor on the previous row of the result table relative
to the current cursor position.
</dd>
<dt class="bold">FIRST </dt><a id="idx2582" name="idx2582"></a>
<dd>Positions the cursor on the first row of the result table.
</dd>
<dt class="bold">LAST </dt><a id="idx2583" name="idx2583"></a>
<dd>Positions the cursor on the last row of the result table.
</dd>
<dt class="bold">BEFORE </dt><a id="idx2584" name="idx2584"></a>
<dd>Positions the cursor before the first row of the result table.
</dd>
<dt class="bold">AFTER </dt><a id="idx2585" name="idx2585"></a>
<dd>Positions the cursor after the last row of the result table.
</dd>
<dt class="bold">CURRENT </dt><a id="idx2586" name="idx2586"></a>
<dd>Does not reposition the cursor, but maintains the current cursor position.
If the cursor has been declared as DYNAMIC SCROLL and the current row has
been updated so its place within the sort order of the result table is changed,
an error is returned.
</dd>
<dt class="bold">RELATIVE </dt><a id="idx2587" name="idx2587"></a>
<dd><span class="italic">Variable</span> or <span class="italic">integer</span> is assigned to an integer value <span class="italic">k</span>. RELATIVE
positions the cursor to the row in the result table that is either <span class="italic">k</span> rows after the current row if <span class="italic">k</span>>0, or <span class="italic">k</span> rows before the current row if <span class="italic">k</span>&lt;0. If a <span class="italic">variable</span> is specified, it must be a numeric
variable with zero scale and it must not include an indicator variable.
<a name="synspec"></a>
<table id="synspec" width="100%" summary="" border="1" frame="border" rules="all">
<caption>Table 55. Synonymous Scroll Specifications</caption>
<thead valign="bottom">
<tr>
<th id="wq1504" width="50%" align="left" valign="bottom">Specification</th>
<th id="wq1505" width="50%" align="left" valign="bottom">Alternative</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left" valign="top" headers="wq1504">RELATIVE +1</td>
<td align="left" valign="top" headers="wq1505">NEXT</td>
</tr>
<tr>
<td align="left" valign="top" headers="wq1504">RELATIVE -1</td>
<td align="left" valign="top" headers="wq1505">PRIOR</td>
</tr>
<tr>
<td align="left" valign="top" headers="wq1504">RELATIVE 0</td>
<td align="left" valign="top" headers="wq1505">CURRENT</td>
</tr>
</tbody>
</table>
</dd>
<dt class="bold">FROM</dt>
<dd>This keyword is provided for clarity only. If a scroll position option
is specified, then this keyword is required. If no scrolling option is specified,
then the FROM keyword is optional.
</dd>
<dt class="bold"><span class="italic">cursor-name</span> </dt><a id="idx2588" name="idx2588"></a>
<dd>Identifies the cursor to be used in the fetch operation. The <span class="italic">cursor-name</span> must identify a declared cursor as explained in <a href="rbafzmsth2clcu.htm#deccur">Description</a> for the DECLARE CURSOR statement. When the FETCH statement is
executed, the cursor must be in the open state.
<p>If a <span class="italic">single-fetch</span> or <span class="italic">multiple-row-fetch</span> clause is
not specified, no data is returned to the user. However, the cursor is positioned
and a row lock may be acquired. For more information about locking, see <a href="rbafzmstisol.htm#isol">Isolation level</a>.</p>
</dd>
</dl>
<a name="wq1506"></a>
<h3 id="wq1506"><a href="rbafzmst02.htm#ToC_1076">single-fetch</a></h3>
<dl class="parml">
<dt class="bold">INTO <span class="italic">variable</span>,... </dt><a id="idx2589" name="idx2589"></a><a id="idx2590" name="idx2590"></a>
<dd>Identifies one or more host structures or variables that must be declared
in accordance with the rules for declaring host structures and variables.
In the operational form of INTO, a host structure is replaced by a reference
to each of its variables. The first value in the result row is assigned to
the first variable in the list, the second value to the second variable, and
so on.
</dd>
<dt class="bold">INTO SQL DESCRIPTOR <span class="italic">SQL-descriptor-name</span><a id="idx2591" name="idx2591"></a></dt>
<dd>Identifies an SQL descriptor which contains valid descriptions
of the output variables to be used with the FETCH statement. Before the FETCH
statement is executed, a descriptor must be allocated using the ALLOCATE DESCRIPTOR
statement.
<dl class="parml">
<dt class="bold">LOCAL</dt>
<dd>Specifies the scope of the name of the descriptor to be local to program
invocation.
</dd>
<dt class="bold">GLOBAL</dt>
<dd>Specifies the scope of the name of the descriptor to be global to the
SQL session.
</dd>
<dt class="bold"><var class="pv">SQL-descriptor-name</var></dt>
<dd>Names the SQL descriptor. The name must identify a descriptor that already
exists with the specified scope. <a id="idx2592" name="idx2592"></a>
</dd>
</dl>
</dd>
<dt class="bold">INTO DESCRIPTOR <span class="italic">descriptor-name</span> </dt><a id="idx2593" name="idx2593"></a><a id="idx2594" name="idx2594"></a>
<dd>Identifies an SQLDA that must contain a valid description of zero or
more variables.
<p>Before the FETCH statement is processed, the user must set
the following fields in the SQLDA. (The rules for REXX are different. For
more information see the <a href="../rzajp/rzajpkickoff.htm">Embedded SQL Programming</a> book.) </p>
<ul>
<li>SQLN to indicate the number of SQLVAR occurrences provided in the SQLDA</li>
<li>SQLDABC to indicate the number of bytes of storage allocated for the SQLDA</li>
<li>SQLD to indicate the number of variables used in the SQLDA when processing
the statement</li>
<li>SQLVAR occurrences to indicate the attributes of the variables</li></ul>
<p>The SQLDA must have enough storage to contain all SQLVAR occurrences.
Therefore, the value in SQLDABC must be greater than or equal to 16 + SQLN*(80),
where 80 is the length of an SQLVAR occurrence. If LOBs are specified, there
must be two SQLVAR entries for each parameter marker and SQLN must be set
to two times the number of parameter markers.</p>
<p>SQLD must be set to a
value greater than or equal to zero and less than or equal to SQLN. For more
information, see <a href="rbafzmstsqldda.htm#sqldda">Appendix D. SQLDA (SQL descriptor area)</a>.</p>
</dd>
</dl>
<a name="multiplerowfetch"></a>
<h3 id="multiplerowfetch"><a href="rbafzmst02.htm#ToC_1077">multiple-row-fetch</a></h3>
<dl class="parml">
<dt class="bold">FOR <span class="italic">variable</span> <span>or</span> <span class="italic">integer</span> ROWS </dt><a id="idx2595" name="idx2595"></a>
<dd>Evaluates <span class="italic">variable</span> or <span class="italic">integer</span> to an integral value that represents the number
of rows to fetch. If a <span class="italic">variable</span> is specified,
it must be a numeric variable with zero scale and it must not include an indicator
variable. The value must be in the range of 1 to 32767. The cursor is positioned
on the row specified by the orientation keyword (for example, NEXT), and that
row is fetched. Then the next rows are fetched (moving forward in the table),
until either the specified number of rows have been fetched or the end of
the cursor is reached. After the fetch operation, the cursor is positioned
on the last row fetched.
<p>For example, FETCH PRIOR FROM C1 FOR 3 ROWS causes
the previous row, the current row, and the next row to be returned, in that
order. The cursor is positioned on the next row. FETCH RELATIVE -1 FROM C1
FOR 3 ROWS returns the same result. FETCH FIRST FROM C1 FOR :x ROWS returns
the first <span class="italic">x</span> rows, and leaves the cursor positioned
on row number <span class="italic">x</span>.</p>
<p>When a <span class="italic">multiple-row-fetch</span> is successfully executed, three statement information
items are available in the SQL Diagnostics Area (or the SQLCA): </p>
<ul>
<li>ROW_COUNT (or SQLERRD(3) of the SQLCA) shows the number of rows retrieved.</li>
<li>DB2_ROW_LENGTH (or SQLERRD(4) of the SQLCA) contains the length of the
row retrieved.</li>
<li>DB2_LAST_ROW (or SQLERRD(5) of the SQLCA) contains +100 if the last row
was fetched. <sup class="fn"><a id="wq1507" name="wq1507" href="rbafzmstfets.htm#wq1508">71</a></sup></li></ul>
</dd>
<dt class="bold">INTO <span class="italic">host-structure-array</span> </dt><a id="idx2596" name="idx2596"></a><a id="idx2597" name="idx2597"></a>
<dd><span class="italic">host-structure-array</span> identifies an array of
host structures defined in accordance with the rules for declaring host structures.
<p>The first structure in the array corresponds to the first row, the second
structure in the array corresponds to the second row, and so on. In addition,
the first value in the row corresponds to the first item in the structure,
the second value in the row corresponds to the second item in the structure,
and so on. The number of rows to be fetched must be less than or equal to
the dimension of the host structure array.</p>
</dd>
<dt class="bold">USING SQL DESCRIPTOR <span class="italic">SQL-descriptor-name</span></dt>
<dd>Identifies an SQL descriptor.
<dl class="parml">
<dt class="bold">LOCAL</dt>
<dd>Specifies the scope of the name of the descriptor to be local to program
invocation.
</dd>
<dt class="bold">GLOBAL</dt>
<dd>Specifies the scope of the name of the descriptor to be global to the
SQL session.
</dd>
<dt class="bold"><var class="pv">SQL-descriptor-name</var></dt>
<dd>Names the SQL descriptor. The name must identify a descriptor that already
exists with the specified scope.
<p>The COUNT field in the descriptor
header must be set to reflect the number of columns in the result set. The
TYPE and DATETIME_INTERVAL_CODE (if applicable) must be set for each column
in the result set.</p><a id="idx2598" name="idx2598"></a>
</dd>
</dl>
</dd>
<dt class="bold">USING DESCRIPTOR <span class="italic">descriptor-name</span></dt>
<dd>Identifies an SQLDA that must contain a valid description of zero or
more variables that describe the format of a row in the <span class="italic">row-storage-area</span>.
<p>Before the FETCH statement is processed, the user
must set the following fields in the SQLDA: </p>
<ul>
<li>SQLN to indicate the number of SQLVAR occurrences provided in the SQLDA.</li>
<li>SQLDABC to indicate the number of bytes of storage allocated for the SQLDA.</li>
<li>SQLD to indicate the number of variables used in the SQLDA when processing
the statement.</li>
<li>SQLVAR occurrences to indicate the attributes of the variables.</li></ul>
<p>The values of the other fields of the SQLDA (such as SQLNAME)
may not be defined after the FETCH statement is executed and should not be
used.</p>
<p>The SQLDA must have enough storage to contain all SQLVAR occurrences.
Therefore, the value in SQLDABC must be greater than or equal to 16 + SQLN*(80),
where 80 is the length of an SQLVAR occurrence. If LOBs or distinct types
are specified, there must be two SQLVAR entries for each parameter marker
and SQLN must be set to two times the number of parameter markers.</p>
<p>SQLD must be set to a value greater than or equal to zero and less than or
equal to SQLN. For more information, see <a href="rbafzmstsqldda.htm#sqldda">Appendix D. SQLDA (SQL descriptor area)</a>.</p>
<p>On completion
of the FETCH, the SQLDATA pointer in the first SQLVAR entry addresses the
returned value for the first column in the allocated storage in the first
row, the SQLDATA pointer in the second SQLVAR entry addresses the returned
value for the second column in the allocated storage in the first row, and
so on. The SQLIND pointer in the first nullable SQLVAR entry addresses the
first indicator value, the SQLIND pointer in the second nullable SQLVAR entry
addresses the second indicator value, and so on. The SQLDA must be allocated
on a 16-byte boundary.</p>
</dd>
<dt class="bold">INTO <span class="italic">row-storage-area</span> </dt><a id="idx2599" name="idx2599"></a><a id="idx2600" name="idx2600"></a>
<dd><span class="italic">host-identifier-1</span> specified with
a variable identifies an allocation of storage in which to return the rows.
The rows are returned into the storage area in the format described by the
SQLDA or SQL descriptor. <span class="italic">host-identifier-1</span> must be
large enough to hold all the rows requested.
<p><span class="italic">host-identifier-2</span> identifies the optional indicator area. It should be
specified if any of the data types returned are nullable. The indicators are
returned as small integers. <span class="italic">host-identifier-2</span> must
be large enough to contain an indicator for each nullable value for each row
to be returned.</p>
<p>The GET DIAGNOSTICS statement can be used
to return the DB2_ROW_LENGTH which indicates the length of each row returned
into the <var class="pv">row-storage-area</var>.</p>
</dd>
</dl>
<p>The <span class="italic">nth</span> variable identified by the INTO clause
or described in the SQLDA corresponds to the <span class="italic">nth</span> column
of the result table of the cursor. The data type of each variable must be
compatible with its corresponding column.</p>
<p>Each assignment to a variable is made according to the retrieval assignment
rules described in <a href="rbafzmstch2bas.htm#reta">Retrieval assignment</a>. If the number of variables is less
than the number of values in the row, the SQLSTATE is set to '01503' (or the
SQLWARN3 field of the SQLCA is set to 'W'). Note that there is no
warning if there are more variables than the number of result columns. If
the value is null, an indicator variable must be provided. If an assignment
error occurs, the value is not assigned to the variable, and no more values
are assigned to variables. Any values that have already been assigned to variables
remain assigned.</p>
<p>If an error occurs as the result of an arithmetic expression in the SELECT
list of an outer SELECT statement (division by zero, overflow, etc.) or a
character conversion error occurs, the result is the null value. As in any
other case of a null value, an indicator variable must be provided. The value
of the variable is undefined. In this case, however, the indicator variable
is set to -2. Processing of the statement continues as if the error had not
occurred. (However, a warning is returned.) If you do not provide an indicator
variable, an error is returned. It is possible that some values have already
been assigned to variables and will remain assigned when the error occurs.</p>
<p><span class="italic">multiple-row-fetch</span> is not allowed if any of the
result columns are LOBs or if the current connection is to a remote server.</p>
<a name="wq1509"></a>
<h3 id="wq1509"><a href="rbafzmst02.htm#ToC_1078">Notes</a></h3><a id="idx2601" name="idx2601"></a><a id="idx2602" name="idx2602"></a><a id="idx2603" name="idx2603"></a><a id="idx2604" name="idx2604"></a><a id="idx2605" name="idx2605"></a>
<p><span class="bold">Cursor position:</span> An open cursor has three possible
positions: </p>
<ul>
<li>Before a row</li>
<li>On a row</li>
<li>After the last row</li></ul>
<p>If a cursor is positioned on a row, that row is called the current row
of the cursor. A cursor referenced in an UPDATE or DELETE statement must be
positioned on a row. A cursor can only be positioned on a row as a result
of a FETCH statement.</p>
<p>It is possible for an error to occur that makes the state of the cursor
unpredictable.</p>
<a name="incif"></a>
<p id="incif"><span class="bold">Variable assignment:</span> If the
specified variable is character and is not large enough to contain the result,
a warning (SQLSTATE 01004) is returned (and 'W' is assigned to SQLWARN1
in the SQLCA). The actual length of the result is returned in the indicator
variable associated with the <span class="italic">variable</span>,
if an indicator variable is provided.</p>
<p>If the specified variable is a C NUL-terminated variable and is not large
enough to contain the result and the NUL-terminator:<a id="idx2606" name="idx2606"></a><a id="idx2607" name="idx2607"></a></p>
<ul>
<li>If the *CNULRQD option is specified on the CRTSQLCI or CRTSQLCPPI command
(or CNULRQD(*YES) on the SET OPTION statement), the following occurs:
<ul>
<li>The result is truncated.</li>
<li>The last character is the NUL-terminator.</li>
<li>A warning (SQLSTATE 01004) is returned (and 'W' is assigned to
SQLWARN1 in the SQLCA).</li></ul></li>
<li>If the *NOCNULRQD option on the CRTSQLCI or CRTSQLCPPI command (or CNULRQD(*NO)
on the SET OPTION statement) is specified, the following occurs:
<ul>
<li>The NUL-terminator is not returned.</li>
<li>A warning (SQLSTATE 01004) is returned (and 'N' is assigned to
SQLWARN1 in the SQLCA).</li></ul></li></ul>
<p><span class="bold">Syntax alternatives:</span> The following keywords are synonyms
supported for compatibility to prior releases. These keywords are non-standard
and should not be used:</p>
<ul>
<li>USING DESCRIPTOR may be used as a synonym for INTO DESCRIPTOR in the single-fetch-clause.</li></ul>
<a name="wq1510"></a>
<h3 id="wq1510"><a href="rbafzmst02.htm#ToC_1079">Example</a></h3>
<p><span class="italic">Example 1:</span>&nbsp; In this C example, the FETCH statement
fetches the results of the SELECT statement into the program variables <tt class="xph">dnum</tt>, <tt class="xph">dname</tt>, and <tt class="xph">mnum</tt>. When no more rows remain
to be fetched, the not found condition is returned. </p>
<pre class="xmp"> EXEC SQL <span class="bold">DECLARE</span> C1 <span class="bold">CURSOR FOR</span>
<span class="bold">SELECT</span> DEPTNO, DEPTNAME, MGRNO <span class="bold">FROM</span> TDEPT
<span class="bold">WHERE</span> ADMRDEPT = 'A00';
EXEC SQL <span class="bold">OPEN</span> C1;
while (<span class="bold">SQLCODE</span>==0) {
EXEC SQL <span class="bold">FETCH</span> C1 <span class="bold">INTO</span> :dnum, :dname, :mnum;
}
EXEC SQL <span class="bold">CLOSE</span> C1;</pre>
<p><span class="italic">Example 2:</span>&nbsp; This FETCH statement uses an SQLDA. </p>
<pre class="xmp"> <span class="bold">FETCH</span> CURS <span class="bold">USING DESCRIPTOR</span> :sqlda3</pre>
<p><a id="idx2608" name="idx2608"></a><a id="idx2609" name="idx2609"></a></p>
<hr /><div class="fnnum"><a id="wq1508" name="wq1508" href="rbafzmstfets.htm#wq1507">71</a>.</div>
<div class="fntext">If the number of rows returned is equal to the number of
rows requested, then an end of data warning may not occur and DB2_LAST_ROW
(or SQLERRD(5) of the SQLCA) may not contain +100.</div>
<br />
<hr /><br />
[ <a href="#Top_Of_Page">Top of Page</a> | <a href="rbafzmstexim.htm">Previous Page</a> | <a href="rbafzmstfreeloc.htm">Next Page</a> | <a href="rbafzmst02.htm#wq1">Contents</a> |
<a href="rbafzmstindex.htm#index">Index</a> ]
<a id="Bot_Of_Page" name="Bot_Of_Page"></a>
</body>
</html>