ibm-information-center/dist/eclipse/plugins/i5OS.ic.cli_5.4.0.1/rzadpfnscurn.htm

147 lines
8.7 KiB
HTML

<?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 lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<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="DC.Type" content="reference" />
<meta name="DC.Title" content="SQLSetCursorName - Set cursor name" />
<meta name="DC.Relation" scheme="URI" content="rzadphdapi.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzadpfnscurn" />
<meta name="DC.Language" 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. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>SQLSetCursorName</title>
</head>
<body id="rzadpfnscurn"><a name="rzadpfnscurn"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">SQLSetCursorName - Set cursor name</h1>
<div><div class="section"></div>
<div class="section"><h4 class="sectiontitle">Purpose</h4> <p><samp class="codeph">SQLSetCursorName()</samp> associates
a cursor name with the statement handle. This function is optional because DB2<sup>®</sup> UDB
CLI implicitly generates a cursor name when needed.</p>
</div>
<div class="section"><h4 class="sectiontitle">Syntax</h4><pre>SQLRETURN SQLSetCursorName (SQLHSTMT hstmt,
SQLCHAR *szCursor,
SQLSMALLINT cbCursor);</pre>
</div>
<div class="section"><h4 class="sectiontitle">Function arguments</h4>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" width="100%" frame="hsides" border="1" rules="all"><caption>Table 1. SQLSetCursorName arguments</caption><thead align="left"><tr><th align="left" valign="top" width="20%" id="d0e51">Data type</th>
<th align="left" valign="top" width="20%" id="d0e53">Argument</th>
<th align="left" valign="top" width="20%" id="d0e55">Use</th>
<th align="left" valign="top" width="40%" id="d0e57">Description</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" width="20%" headers="d0e51 ">SQLCHAR *</td>
<td align="left" valign="top" width="20%" headers="d0e53 "><em>szCursor</em></td>
<td align="left" valign="top" width="20%" headers="d0e55 ">Input</td>
<td align="left" valign="top" width="40%" headers="d0e57 ">Cursor name.</td>
</tr>
<tr><td align="left" valign="top" width="20%" headers="d0e51 ">SQLHSTMT</td>
<td align="left" valign="top" width="20%" headers="d0e53 "><em>hstmt</em></td>
<td align="left" valign="top" width="20%" headers="d0e55 ">Input</td>
<td align="left" valign="top" width="40%" headers="d0e57 ">Statement handle.</td>
</tr>
<tr><td align="left" valign="top" width="20%" headers="d0e51 ">SQLSMALLINT</td>
<td align="left" valign="top" width="20%" headers="d0e53 "><em>cbCursor</em></td>
<td align="left" valign="top" width="20%" headers="d0e55 ">Input</td>
<td align="left" valign="top" width="40%" headers="d0e57 ">Length of contents of <em>szCursor</em> argument.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section"><h4 class="sectiontitle">Usage</h4><p>DB2 UDB CLI always generates and uses an
internally generated cursor name when a SELECT statement is prepared or processed
directly. <samp class="codeph">SQLSetCursorName()</samp> allows an application-defined
cursor name to be used in an SQL statement (a Positioned UPDATE or DELETE). DB2 UDB
CLI maps this name to an internal name. <samp class="codeph">SQLSetCursorName()</samp> must
be called before an internal name is generated. The name remains associated
with the statement handle, until the handle is dropped. The name also remains
after the transaction has ended, but at this point <samp class="codeph">SQLSetCursorName()</samp> can
be called to set a different name for this statement handle.</p>
<div class="p">Cursor
names must follow the following rules: <ul><li>All cursor names within the connection must be unique.</li>
<li>Each cursor name must be less than or equal to 18 bytes in length. Any
attempt to set a cursor name longer than 18 bytes results in truncation of
that cursor name to 18 bytes. (No warning is generated.)</li>
<li>Because a cursor name is considered an identifier in SQL, it must begin
with an English letter (a-z, A-Z) followed by any combination of digits (0-9),
English letters or the underscore character (_).</li>
<li>Unless the input cursor name is enclosed in double quotation marks,
all leading and trailing blanks from the input cursor name string is removed.</li>
</ul>
</div>
</div>
<div class="section"><h4 class="sectiontitle">Return codes</h4><ul><li>SQL_SUCCESS</li>
<li>SQL_ERROR</li>
<li>SQL_INVALID_HANDLE</li>
</ul>
</div>
<div class="section"><h4 class="sectiontitle">Diagnostics</h4>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" width="100%" frame="hsides" border="1" rules="rows"><caption>Table 2. SQLSetCursorName SQLSTATEs</caption><thead align="left"><tr><th align="left" valign="top" width="25%" id="d0e148">SQLSTATE</th>
<th align="left" valign="top" width="25%" id="d0e150">Description</th>
<th align="left" valign="top" width="50%" id="d0e152">Explanation</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" width="25%" headers="d0e148 "><strong>34</strong>000</td>
<td align="left" valign="top" width="25%" headers="d0e150 ">Cursor name that is not valid</td>
<td align="left" valign="top" width="50%" headers="d0e152 ">The cursor name specified by the argument <em>szCursor</em> is
not valid. The cursor name either begins with "SQLCUR" or "SQL_CUR" or violates
either the driver or the data source cursor naming rules (Must begin with
a-z or A-Z followed by any combination of English letters, digits, or the
'_' character. <p>The cursor name specified by the argument <em>szCursor</em> exists.</p>
</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e148 "><strong>58</strong>004</td>
<td align="left" valign="top" width="25%" headers="d0e150 ">System error</td>
<td align="left" valign="top" width="50%" headers="d0e152 ">Unrecoverable system error.</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e148 "><strong>HY</strong>001</td>
<td align="left" valign="top" width="25%" headers="d0e150 ">Memory allocation failure</td>
<td align="left" valign="top" width="50%" headers="d0e152 ">The driver is unable to allocate memory required
to support the processing or completion of the function.</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e148 "><strong>HY</strong>009</td>
<td align="left" valign="top" width="25%" headers="d0e150 ">Argument value that is not valid</td>
<td align="left" valign="top" width="50%" headers="d0e152 "><em>szCursor</em> is a null pointer. <p>The
argument <em>cbCursor</em> is less than 1, but not equal to SQL_NTS.</p>
</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e148 "><strong>HY</strong>010</td>
<td align="left" valign="top" width="25%" headers="d0e150 ">Function sequence error</td>
<td align="left" valign="top" width="50%" headers="d0e152 ">The statement handle is not in allocated
state. <p><samp class="codeph">SQLPrepare()</samp> or <samp class="codeph">SQLExecDirect()</samp> is
called before <samp class="codeph">SQLSetCursorName()</samp>.</p>
</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e148 "><strong>HY</strong>013 <strong>*</strong></td>
<td align="left" valign="top" width="25%" headers="d0e150 ">Memory management problem</td>
<td align="left" valign="top" width="50%" headers="d0e152 ">The driver is unable to access memory required
to support the processing or completion of the function.</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section"><h4 class="sectiontitle">References</h4><ul><li><a href="rzadpfngcurn.htm#rzadpfngcurn">SQLGetCursorName - Get cursor name</a></li>
</ul>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzadphdapi.htm" title="This topic provides a description of each CLI function.">DB2 UDB CLI functions</a></div>
</div>
</div>
</body>
</html>