Edit D:\app\Administrator\product\11.2.0\dbhome_1\oc4j\j2ee\oc4j_applications\applications\em\em\online_help\tdddg\tdddg_subprograms044.htm
<!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" xml:lang="en" lang="en"> <script src="./callback.js" type="text/javascript"></script> <noscript>Your browser does not support JavaScript. This help page requires JavaScript to render correctly.</noscript> </head> <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta name="generator" content="Oracle DARB XHTML Converter (Mode = ohj/ohw) - Version 5.1.1 Build 005" /> <meta name="date" content="2009-04-21T9:46:24Z" /> <meta name="robots" content="noarchive" /> <meta name="doctitle" content="About Associative Arrays" /> <meta name="relnum" content="11g Release 2 (11.2)" /> <meta name="partnum" content="E10766-01" /> <link rel="copyright" href="./dcommon/html/cpyr.htm" title="Copyright" type="text/html" /> <link rel="stylesheet" href="./dcommon/css/blafdoc.css" title="Oracle BLAFDoc" type="text/css" /> <link rel="contents" href="toc.htm" title="Contents" type="text/html" /> <link rel="prev" href="tdddg_subprograms043.htm" title="Previous" type="text/html" /> <link rel="next" href="tdddg_subprograms045.htm" title="Next" type="text/html" /> <title>About Associative Arrays</title> </head> <body> <div class="zz-skip-header"><a href="#BEGIN">Skip Headers</a></div> <table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%"> <col width="86%" /> <col width="*" /> <tr valign="bottom"> <td align="left"></td> <td align="center"><a href="tdddg_subprograms043.htm"><img width="24" height="24" src="./dcommon/gifs/leftnav.gif" alt="Previous" /><br /> <span class="icon">Previous</span></a> </td> <td align="center"><a href="tdddg_subprograms045.htm"><img width="24" height="24" src="./dcommon/gifs/rightnav.gif" alt="Next" /><br /> <span class="icon">Next</span></a></td> </tr> </table> <p><a id="BABIEHDG" name="BABIEHDG"></a><a id="TDDDG99951" name="TDDDG99951"></a></p> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h1>About Associative Arrays</h1> <a name="BEGIN" id="BEGIN"></a> <p>An <a id="sthref502" name="sthref502"></a><span class="bold">associative array</span> is an unbounded set of key-value pairs. Each key is unique, and serves as the subscript of the element that holds the corresponding value. Therefore, you can access elements without knowing their positions in the array, and without traversing the array.</p> <p>The <a id="sthref503" name="sthref503"></a>data type of the key can be either <code>PLS_INTEGER</code> or <code>VARCHAR2</code> <code>(</code><code><span class="codeinlineitalic">length</span></code><code>)</code>.</p> <p>If the key type is <code>PLS_INTEGER</code>, the associative array is <a id="sthref504" name="sthref504"></a><span class="bold">indexed by integer</span>, and it is <a id="sthref505" name="sthref505"></a><a id="sthref506" name="sthref506"></a><span class="bold">dense</span>; that is, it has no gaps between elements—every element between the first and last element is defined and has a value (which can be <code>NULL</code>).</p> <p>If the key type is <code>VARCHAR2</code> <code>(</code><code><span class="codeinlineitalic">length</span></code><code>)</code>, the associative array is <a id="sthref507" name="sthref507"></a><span class="bold">indexed by string</span> (of <code><span class="codeinlineitalic">length</span></code> characters), and it is <a id="sthref508" name="sthref508"></a><a id="sthref509" name="sthref509"></a><span class="bold">sparse</span>; that is, it might have gaps between elements.</p> <p>When traversing a dense associative array, you do not need to beware of gaps between elements; when traversing a sparse associative array, you do.</p> <p>To assign a value to an associative array element, you can use an <a id="sthref510" name="sthref510"></a>assignment operator:</p> <pre xml:space="preserve" class="oac_no_warn"> <span class="italic">array_name</span>(<span class="italic">key</span>) := <span class="italic">value</span> </pre> <p>If <code><span class="codeinlineitalic">key</span></code> is not in the array, the assignment statement adds the <code><span class="codeinlineitalic">key</span></code>-<code><span class="codeinlineitalic">value</span></code> pair to the array. Otherwise, the statement changes the value of <code><span class="codeinlineitalic">array_name</span></code><code>(</code><code><span class="codeinlineitalic">key</span></code><code>)</code> to <code><span class="codeinlineitalic">value</span></code>.</p> <p>Associative arrays are useful for storing data temporarily. They do not use the disk space or network operations that tables require. However, because associative arrays are intended for temporary storage, you cannot manipulate them with <a id="sthref511" name="sthref511"></a>DML statements or use <a id="sthref512" name="sthref512"></a><code>SELECT</code> <code>INTO</code> statements to assign their values to variables.</p> <p>If you declare an associative array in a package, and assign values to the variable in the package body, then the associative array exists for the life of the database session. Otherwise, it exists for the life of the subprogram in which you declare it.</p> <div class="helpinfonotealso"> <h2>Related Topics</h2> <p><a href="javascript:open('http://www.oracle.com/pls/db112/lookup?id=LNPLS99969','newWindow').focus()"><span class="italic">Oracle Database PL/SQL Language Reference</span></a></p> <p><a href="tdddg_subprograms042.htm#BABDFGAA">Using Associative Arrays</a></p> </div> </div> <!-- class="sect2" --> <!-- Start Footer --> <div class="footer"> <table class="simple oac_no_warn" summary="" cellspacing="0" cellpadding="0" width="100%"> <col width="86%" /> <col width="*" /> <tr> <td align="left"><span class="copyrightlogo">Copyright © 1996, 2009, Oracle and/or its affiliates. All rights reserved.</span><br /> <a href="./dcommon/html/cpyr.htm"><span class="copyrightlogo">Legal Notices</span></a></td> <td align="center"><a href="tdddg_subprograms043.htm"><img width="24" height="24" src="./dcommon/gifs/leftnav.gif" alt="Previous" /><br /> <span class="icon">Previous</span></a> </td> <td align="center"><a href="tdddg_subprograms045.htm"><img width="24" height="24" src="./dcommon/gifs/rightnav.gif" alt="Next" /><br /> <span class="icon">Next</span></a></td> </tr> </table> </div> <!-- class="footer" --> </body> </html>
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de