Edit D:\app\Administrator\product\11.2.0\dbhome_1\oc4j\j2ee\oc4j_applications\applications\em\em\online_help\tdddg\tdddg_subprograms038.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="Tutorial: Using an Explicit Cursor to Retrieve Result Set Rows One at a Time" /> <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_subprograms037.htm" title="Previous" type="text/html" /> <link rel="next" href="tdddg_subprograms039.htm" title="Next" type="text/html" /> <title>Tutorial: Using an Explicit Cursor to Retrieve Result Set Rows One at a Time</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_subprograms037.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_subprograms039.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="BABJJDAJ" name="BABJJDAJ"></a><a id="TDDDG99953" name="TDDDG99953"></a></p> <div class="sect2"><!-- infolevel="all" infotype="General" --> <h1>Tutorial: Using an Explicit Cursor to Retrieve Result Set Rows One at a Time</h1> <a name="BEGIN" id="BEGIN"></a> <p>This tutorial shows how to implement the procedure <code>EMP_EVAL</code>.<code>eval_department</code>, which uses an explicit cursor, <code>emp_cursor</code>.</p> <a id="TDDDG238" name="TDDDG238"></a> <p class="subhead2">To implement the EMP_EVAL.eval_department procedure:</p> <ol> <li> <p>In the <code>EMP_EVAL</code> package specification, change the declaration of the <code>eval_department</code> procedure as shown in bold font:</p> <pre xml:space="preserve" class="oac_no_warn"> PROCEDURE eval_department(dept_id IN <span class="bold">employees.department_id%TYPE</span>); </pre> <p>(For instructions for changing a package specification, see <a href="tdddg_subprograms015.htm#CIHIEAGC">"Tutorial: Changing a Package Specification"</a>.)</p> </li> <li> <p>In the <code>EMP_EVAL</code> package body, change the definition of the <code>eval_department</code> procedure as shown in bold font:</p> <pre xml:space="preserve" class="oac_no_warn"> PROCEDURE eval_department (dept_id IN <span class="bold">employees.department_id%TYPE</span>) AS <span class="bold">CURSOR emp_cursor IS</span> <span class="bold">SELECT * FROM EMPLOYEES</span> <span class="bold">WHERE DEPARTMENT_ID = dept_id;</span> <span class="bold">emp_record EMPLOYEES%ROWTYPE;</span> -- for row returned by cursor <span class="bold">all_evals BOOLEAN;</span> -- true if all employees in dept need evaluations <span class="bold">today DATE;</span> BEGIN <span class="bold">today := SYSDATE;</span> <span class="bold">IF (EXTRACT(MONTH FROM today) < 6) THEN</span> <span class="bold">all_evals := FALSE;</span> -- only new employees need evaluations <span class="bold">ELSE</span> <span class="bold">all_evals := TRUE;</span> -- all employees need evaluations <span class="bold">END IF;</span> <span class="bold">OPEN emp_cursor;</span> <span class="bold">DBMS_OUTPUT.PUT_LINE (</span> <span class="bold">'Determining evaluations necessary in department # ' ||</span> <span class="bold">dept_id );</span> <span class="bold">LOOP</span> <span class="bold">FETCH emp_cursor INTO emp_record;</span> <span class="bold">EXIT WHEN emp_cursor%NOTFOUND;</span> <span class="bold">IF all_evals THEN</span> <span class="bold">add_eval(emp_record.employee_id, today);</span> <span class="bold">ELSIF (eval_frequency(emp_record.employee_id) = 2) THEN</span> <span class="bold">add_eval(emp_record.employee_id, today);</span> <span class="bold">END IF;</span> <span class="bold">END LOOP;</span> <span class="bold">DBMS_OUTPUT.PUT_LINE('Processed ' || emp_cursor%ROWCOUNT || ' records.');</span> <span class="bold">CLOSE emp_cursor;</span> END eval_department; </pre> <p>(For a step-by-step example of changing a package body, see <a href="tdddg_subprograms019.htm#CIHBGDBA">"Tutorial: Declaring Variables and Constants in a Subprogram"</a>.)</p> </li> <li> <p>Compile the <code>EMP_EVAL</code> package specification.</p> </li> <li> <p>Compile the <code>EMP_EVAL</code> package body.</p> </li> </ol> <div class="helpinfonotealso"> <h2>Related Topics</h2> <p><a href="tdddg_subprograms037.htm#BABIEDFH">Using an Explicit Cursor to Retrieve Result Set Rows One at a Time</a></p> <p><a href="tdddg_subprograms032.htm#CIHHCJDI">Using Records and Cursors</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_subprograms037.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_subprograms039.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