<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FCursor%2FREFCURSOR</id>
		<title>Oracle PL/SQL Tutorial/Cursor/REFCURSOR - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://sqle.ru/index.php?action=history&amp;feed=atom&amp;title=Oracle_PL%2FSQL_Tutorial%2FCursor%2FREFCURSOR"/>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Cursor/REFCURSOR&amp;action=history"/>
		<updated>2026-05-25T20:25:52Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Cursor/REFCURSOR&amp;diff=3144&amp;oldid=prev</id>
		<title> в 13:45, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Cursor/REFCURSOR&amp;diff=3144&amp;oldid=prev"/>
				<updated>2010-05-26T13:45:46Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 13:45, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Cursor/REFCURSOR&amp;diff=3145&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://sqle.ru/index.php?title=Oracle_PL/SQL_Tutorial/Cursor/REFCURSOR&amp;diff=3145&amp;oldid=prev"/>
				<updated>2010-05-26T10:05:21Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== An example of using SYS_REFCURSOR for cursor variable processing==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table product(&lt;br /&gt;
  2     product_id number(4)     not null,&lt;br /&gt;
  3     product_description varchar2(20) not null&lt;br /&gt;
  4  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into product values (1,&amp;quot;Java&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (2,&amp;quot;Oracle&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (3,&amp;quot;C#&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (4,&amp;quot;Javascript&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (5,&amp;quot;Python&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    refCursorValue SYS_REFCURSOR;&lt;br /&gt;
  3    myRecord product%ROWTYPE;&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5    OPEN refCursorValue FOR SELECT *from product;&lt;br /&gt;
  6&lt;br /&gt;
  7    LOOP&lt;br /&gt;
  8      FETCH refCursorValue INTO myRecord;&lt;br /&gt;
  9      EXIT WHEN refCursorValue%NOTFOUND;&lt;br /&gt;
 10      dbms_output.put_line(to_char(myRecord.product_id)||&amp;quot; &amp;quot;||&lt;br /&gt;
 11      rpad(myRecord.product_description,20,&amp;quot; &amp;quot;));&lt;br /&gt;
 12    END LOOP;&lt;br /&gt;
 13    CLOSE refCursorValue;&lt;br /&gt;
 14  END;&lt;br /&gt;
 15  /&lt;br /&gt;
1 Java&lt;br /&gt;
2 Oracle&lt;br /&gt;
3 C#&lt;br /&gt;
4 Javascript&lt;br /&gt;
5 Python&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table product;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Cursor expressions as arguments to functions called from SQL==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table product(&lt;br /&gt;
  2     product_id number(4)     not null,&lt;br /&gt;
  3     product_description varchar2(20) not null&lt;br /&gt;
  4  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into product values (1,&amp;quot;Java&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (2,&amp;quot;Oracle&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (3,&amp;quot;C#&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (4,&amp;quot;Javascript&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (5,&amp;quot;Python&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table company(&lt;br /&gt;
  2     product_id        number(4)    not null,&lt;br /&gt;
  3     company_id          NUMBER(8)    not null,&lt;br /&gt;
  4     company_short_name  varchar2(30) not null,&lt;br /&gt;
  5     company_long_name   varchar2(60)&lt;br /&gt;
  6  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; insert into company values(1,1001,&amp;quot;A Inc.&amp;quot;,&amp;quot;Long Name A Inc.&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into company values(1,1002,&amp;quot;B Inc.&amp;quot;,&amp;quot;Long Name B Inc.&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into company values(1,1003,&amp;quot;C Inc.&amp;quot;,&amp;quot;Long Name C Inc.&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into company values(2,1004,&amp;quot;D Inc.&amp;quot;,&amp;quot;Long Name D Inc.&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into company values(2,1005,&amp;quot;E Inc.&amp;quot;,&amp;quot;Long Name E Inc.&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into company values(2,1006,&amp;quot;F Inc.&amp;quot;,&amp;quot;Long Name F Inc.&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table org_company_site(&lt;br /&gt;
  2     company_id number(8) not null,&lt;br /&gt;
  3     site_no number(4) not null&lt;br /&gt;
  4  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt; insert into org_company_site values (1001,1);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into org_company_site values (1002,2);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into org_company_site values (1003,3);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into org_company_site values (1004,1);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into org_company_site values (1004,2);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into org_company_site values (1004,3);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into org_company_site values (1005,1);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into org_company_site values (1005,4);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into org_company_site values (1005,5);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into org_company_site values (1006,1);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE FUNCTION f_report(p_cursor SYS_REFCURSOR,p_title VARCHAR2)&lt;br /&gt;
  2  RETURN NUMBER&lt;br /&gt;
  3  IS&lt;br /&gt;
  4    v_product_description VARCHAR2(20);&lt;br /&gt;
  5    v_company_short_name VARCHAR2(30);&lt;br /&gt;
  6    v_ret_code NUMBER;&lt;br /&gt;
  7  BEGIN&lt;br /&gt;
  8    BEGIN&lt;br /&gt;
  9      dbms_output.put_line(p_title);&lt;br /&gt;
 10&lt;br /&gt;
 11      LOOP&lt;br /&gt;
 12        FETCH p_cursor INTO v_product_description,v_company_short_name;&lt;br /&gt;
 13        EXIT WHEN p_cursor%NOTFOUND;&lt;br /&gt;
 14        dbms_output.put_line(rpad(v_product_description,20,&amp;quot; &amp;quot;)||&amp;quot; &amp;quot;||&lt;br /&gt;
 15        rpad(v_company_short_name,30,&amp;quot; &amp;quot;));&lt;br /&gt;
 16      END LOOP;&lt;br /&gt;
 17      v_ret_code :=1;&lt;br /&gt;
 18    EXCEPTION WHEN OTHERS THEN&lt;br /&gt;
 19      v_ret_code :=SQLCODE;&lt;br /&gt;
 20    END;&lt;br /&gt;
 21    RETURN (v_ret_code);&lt;br /&gt;
 22  END;&lt;br /&gt;
 23  /&lt;br /&gt;
Function created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SELECT &amp;quot;Report Generated on &amp;quot;||TO_CHAR(SYSDATE,&amp;quot;MM/DD/YYYY &amp;quot;) &amp;quot;Report1&amp;quot;&lt;br /&gt;
  2  FROM DUAL&lt;br /&gt;
  3  WHERE f_report(&lt;br /&gt;
  4          CURSOR(SELECT h.product_description,o.rupany_short_name&lt;br /&gt;
  5                 FROM product h,company o&lt;br /&gt;
  6                 WHERE o.product_id =h.product_id&lt;br /&gt;
  7                 AND 1 &amp;lt; (SELECT count(os.site_no)&lt;br /&gt;
  8                          FROM org_company_site os&lt;br /&gt;
  9                          WHERE os.rupany_id =o.rupany_id)&lt;br /&gt;
 10                ),&lt;br /&gt;
 11          &amp;quot;List of Organizations located in more than one site&amp;quot;&lt;br /&gt;
 12  )=1;&lt;br /&gt;
Report1&lt;br /&gt;
-------------------------------&lt;br /&gt;
Report Generated on 07/24/2008&lt;br /&gt;
1 row selected.&lt;br /&gt;
List of Organizations located in more than one site&lt;br /&gt;
Oracle               D Inc.&lt;br /&gt;
Oracle               E Inc.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table company;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table product;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table org_company_site;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Define refcursor variable==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; set echo on&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; set timing off&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table t&lt;br /&gt;
  2  as&lt;br /&gt;
  3  select * from all_users;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; variable x refcursor&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; begin&lt;br /&gt;
  2          open :x for select * from t;&lt;br /&gt;
  3  end;&lt;br /&gt;
  4  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; delete from t;&lt;br /&gt;
17 rows deleted.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; commit;&lt;br /&gt;
Commit complete.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; print x&lt;br /&gt;
&lt;br /&gt;
USERNAME                          USER_ID CREATED&lt;br /&gt;
------------------------------ ---------- ---------&lt;br /&gt;
USER1                                  55 02-JUN-07&lt;br /&gt;
sqle                                 38 09-SEP-06&lt;br /&gt;
BOB                                    36 30-AUG-06&lt;br /&gt;
FLOWS_020100                           35 07-FEB-06&lt;br /&gt;
FLOWS_FILES                            34 07-FEB-06&lt;br /&gt;
HR                                     33 07-FEB-06&lt;br /&gt;
MDSYS                                  32 07-FEB-06&lt;br /&gt;
ANONYMOUS                              28 07-FEB-06&lt;br /&gt;
XDB                                    27 07-FEB-06&lt;br /&gt;
CTXSYS                                 25 07-FEB-06&lt;br /&gt;
DBSNMP                                 23 07-FEB-06&lt;br /&gt;
ANEWUSER                               44 09-SEP-06&lt;br /&gt;
TSMSYS                                 20 07-FEB-06&lt;br /&gt;
DIP                                    18 07-FEB-06&lt;br /&gt;
OUTLN                                  11 07-FEB-06&lt;br /&gt;
SYSTEM                                  5 07-FEB-06&lt;br /&gt;
SYS                                     0 07-FEB-06&lt;br /&gt;
17 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table t;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Open SYS_REFCURSOR for select ... from==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE emp (&lt;br /&gt;
  2    id         NUMBER PRIMARY KEY,&lt;br /&gt;
  3    fname VARCHAR2(50),&lt;br /&gt;
  4    lname  VARCHAR2(50)&lt;br /&gt;
  5  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (id, fname, lname)VALUES (1, &amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (id, fname, lname)VALUES (2, &amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (id, fname, lname)VALUES (3, &amp;quot;Enn&amp;quot;, &amp;quot;F&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (id, fname, lname)VALUES (4, &amp;quot;G&amp;quot;, &amp;quot;H&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (id, fname, lname)VALUES (5, &amp;quot;G&amp;quot;, &amp;quot;Z&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SET SERVEROUTPUT ON ESCAPE OFF&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PROCEDURE emp_sel(cv_results IN OUT SYS_REFCURSOR) IS&lt;br /&gt;
  2  BEGIN&lt;br /&gt;
  3     OPEN cv_results FOR SELECT id, fname, lname FROM emp;&lt;br /&gt;
  4  END;&lt;br /&gt;
  5  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; COL fname FORMAT A12&lt;br /&gt;
SQL&amp;gt; VARIABLE x REFCURSOR&lt;br /&gt;
SQL&amp;gt; EXEC emp_sel(:x)&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt; PRINT x&lt;br /&gt;
        ID FNAME        LNAME&lt;br /&gt;
---------- ------------ --------------------------------------------------&lt;br /&gt;
         1 A            B&lt;br /&gt;
         2 C            D&lt;br /&gt;
         3 Enn          F&lt;br /&gt;
         4 G            H&lt;br /&gt;
         5 G            Z&lt;br /&gt;
5 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Output value in a refcursor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt; set echo on&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; set timing off&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table t&lt;br /&gt;
  2  as&lt;br /&gt;
  3  select * from all_users;&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; variable x refcursor&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; begin&lt;br /&gt;
  2          open :x for select * from t;&lt;br /&gt;
  3  end;&lt;br /&gt;
  4  /&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; delete from t;&lt;br /&gt;
17 rows deleted.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; commit;&lt;br /&gt;
Commit complete.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; print x&lt;br /&gt;
&lt;br /&gt;
USERNAME                          USER_ID CREATED&lt;br /&gt;
------------------------------ ---------- ---------&lt;br /&gt;
USER1                                  55 02-JUN-07&lt;br /&gt;
sqle                                 38 09-SEP-06&lt;br /&gt;
BOB                                    36 30-AUG-06&lt;br /&gt;
FLOWS_020100                           35 07-FEB-06&lt;br /&gt;
FLOWS_FILES                            34 07-FEB-06&lt;br /&gt;
HR                                     33 07-FEB-06&lt;br /&gt;
MDSYS                                  32 07-FEB-06&lt;br /&gt;
ANONYMOUS                              28 07-FEB-06&lt;br /&gt;
XDB                                    27 07-FEB-06&lt;br /&gt;
CTXSYS                                 25 07-FEB-06&lt;br /&gt;
DBSNMP                                 23 07-FEB-06&lt;br /&gt;
ANEWUSER                               44 09-SEP-06&lt;br /&gt;
TSMSYS                                 20 07-FEB-06&lt;br /&gt;
DIP                                    18 07-FEB-06&lt;br /&gt;
OUTLN                                  11 07-FEB-06&lt;br /&gt;
SYSTEM                                  5 07-FEB-06&lt;br /&gt;
SYS                                     0 07-FEB-06&lt;br /&gt;
17 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table t;&lt;br /&gt;
Table dropped.&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Row type Reference cursor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE pizza (&lt;br /&gt;
  2  code NUMBER(38) CONSTRAINT pk_pizza PRIMARY KEY NOT NULL&lt;br /&gt;
  3  ,flavor VARCHAR2(30) NOT NULL&lt;br /&gt;
  4  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PACKAGE pizza_pkg&lt;br /&gt;
  2     AUTHID CURRENT_USER&lt;br /&gt;
  3  IS&lt;br /&gt;
  4     c_chocolate CONSTANT PLS_INTEGER := 16;&lt;br /&gt;
  5     c_strawberry CONSTANT PLS_INTEGER := 29;&lt;br /&gt;
  6&lt;br /&gt;
  7     TYPE codes_nt IS TABLE OF INTEGER;&lt;br /&gt;
  8&lt;br /&gt;
  9     my_pizza codes_nt;&lt;br /&gt;
 10&lt;br /&gt;
 11     TYPE fav_info_rct IS REF CURSOR RETURN pizza%ROWTYPE;&lt;br /&gt;
 12&lt;br /&gt;
 13     PROCEDURE show_pizza (list_in IN codes_nt);&lt;br /&gt;
 14&lt;br /&gt;
 15     FUNCTION most_popular RETURN fav_info_rct;&lt;br /&gt;
 16&lt;br /&gt;
 17  END pizza_pkg;&lt;br /&gt;
 18  /&lt;br /&gt;
Package created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PACKAGE BODY pizza_pkg&lt;br /&gt;
  2  IS&lt;br /&gt;
  3     g_most_popular   PLS_INTEGER;&lt;br /&gt;
  4&lt;br /&gt;
  5     PROCEDURE show_pizza (list_in IN codes_nt)&lt;br /&gt;
  6     IS&lt;br /&gt;
  7     BEGIN&lt;br /&gt;
  8        FOR indx IN list_in.FIRST .. list_in.LAST&lt;br /&gt;
  9        LOOP&lt;br /&gt;
 10           DBMS_OUTPUT.put_line (list_in (indx));&lt;br /&gt;
 11        END LOOP;&lt;br /&gt;
 12     END show_pizza;&lt;br /&gt;
 13&lt;br /&gt;
 14     FUNCTION most_popular RETURN fav_info_rct&lt;br /&gt;
 15     IS&lt;br /&gt;
 16        retval fav_info_rct;&lt;br /&gt;
 17        null_cv fav_info_rct;&lt;br /&gt;
 18     BEGIN&lt;br /&gt;
 19        OPEN retval FOR&lt;br /&gt;
 20        SELECT * FROM pizza WHERE code = g_most_popular;&lt;br /&gt;
 21&lt;br /&gt;
 22        RETURN retval;&lt;br /&gt;
 23     EXCEPTION&lt;br /&gt;
 24        WHEN NO_DATA_FOUND&lt;br /&gt;
 25        THEN&lt;br /&gt;
 26           RETURN null_cv;&lt;br /&gt;
 27     END most_popular;&lt;br /&gt;
 28&lt;br /&gt;
 29     PROCEDURE analyze_pizza (year_in IN INTEGER)&lt;br /&gt;
 30     IS&lt;br /&gt;
 31     BEGIN&lt;br /&gt;
 32&lt;br /&gt;
 33        NULL;&lt;br /&gt;
 34     END analyze_pizza;&lt;br /&gt;
 35&lt;br /&gt;
 36  BEGIN&lt;br /&gt;
 37     g_most_popular := c_chocolate;&lt;br /&gt;
 38&lt;br /&gt;
 39     analyze_pizza (EXTRACT (YEAR FROM SYSDATE));&lt;br /&gt;
 40  END pizza_pkg;&lt;br /&gt;
 41  /&lt;br /&gt;
SP2-0810: Package Body created with compilation warnings&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table pizza;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Subprograms returning resultsets by using SYS_REFCURSOR==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; create table product(&lt;br /&gt;
  2     product_id number(4)     not null,&lt;br /&gt;
  3     product_description varchar2(20) not null&lt;br /&gt;
  4  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; insert into product values (1,&amp;quot;Java&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (2,&amp;quot;Oracle&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (3,&amp;quot;C#&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (4,&amp;quot;Javascript&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into product values (5,&amp;quot;Python&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE FUNCTION getAllHierarchies&lt;br /&gt;
  2  RETURN SYS_REFCURSOR&lt;br /&gt;
  3  IS&lt;br /&gt;
  4    refCursorValue SYS_REFCURSOR;&lt;br /&gt;
  5  BEGIN&lt;br /&gt;
  6    OPEN refCursorValue FOR SELECT * FROM product;&lt;br /&gt;
  7&lt;br /&gt;
  8    RETURN (refCursorValue);&lt;br /&gt;
  9&lt;br /&gt;
 10  EXCEPTION WHEN OTHERS THEN&lt;br /&gt;
 11&lt;br /&gt;
 12    RAISE_APPLICATION_ERROR(-20002,SQLERRM);&lt;br /&gt;
 13&lt;br /&gt;
 14  END;&lt;br /&gt;
 15  /&lt;br /&gt;
Function created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; DECLARE&lt;br /&gt;
  2    refCursorValue SYS_REFCURSOR;&lt;br /&gt;
  3    myRecord product%ROWTYPE;&lt;br /&gt;
  4  BEGIN&lt;br /&gt;
  5    refCursorValue :=getAllHierarchies;&lt;br /&gt;
  6&lt;br /&gt;
  7    LOOP&lt;br /&gt;
  8&lt;br /&gt;
  9      FETCH refCursorValue INTO myRecord;&lt;br /&gt;
 10&lt;br /&gt;
 11      EXIT WHEN refCursorValue%NOTFOUND;&lt;br /&gt;
 12&lt;br /&gt;
 13      dbms_output.put_line(TO_CHAR(myRecord.product_id)||&amp;quot; &amp;quot;||myRecord.product_description);&lt;br /&gt;
 14&lt;br /&gt;
 15    END LOOP;&lt;br /&gt;
 16&lt;br /&gt;
 17  EXCEPTION WHEN OTHERS THEN&lt;br /&gt;
 18&lt;br /&gt;
 19    dbms_output.put_line(TO_CHAR(SQLCODE)||&amp;quot; &amp;quot;||SQLERRM);&lt;br /&gt;
 20&lt;br /&gt;
 21  END;&lt;br /&gt;
 22  /&lt;br /&gt;
1 Java&lt;br /&gt;
2 Oracle&lt;br /&gt;
3 C#&lt;br /&gt;
4 Javascript&lt;br /&gt;
5 Python&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; drop table product;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== SYS_REFCURSOR type parameter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE TABLE emp (&lt;br /&gt;
  2    id         NUMBER PRIMARY KEY,&lt;br /&gt;
  3    fname VARCHAR2(50),&lt;br /&gt;
  4    lname  VARCHAR2(50)&lt;br /&gt;
  5  );&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (id, fname, lname)VALUES (1, &amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (id, fname, lname)VALUES (2, &amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (id, fname, lname)VALUES (3, &amp;quot;E&amp;quot;, &amp;quot;F&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (id, fname, lname)VALUES (4, &amp;quot;G&amp;quot;, &amp;quot;H&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; INSERT INTO emp (id, fname, lname)VALUES (5, &amp;quot;G&amp;quot;, &amp;quot;Z&amp;quot;);&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SET SERVEROUTPUT ON ESCAPE OFF&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PROCEDURE emp_sel_regexp_like (cv_emp IN OUT SYS_REFCURSOR)&lt;br /&gt;
  2  IS&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4&lt;br /&gt;
  5     OPEN cv_emp FOR&lt;br /&gt;
  6     SELECT id, fname, lname&lt;br /&gt;
  7     FROM emp&lt;br /&gt;
  8     WHERE REGEXP_LIKE(lname, &amp;quot;^h&amp;quot;, &amp;quot;i&amp;quot;);&lt;br /&gt;
  9&lt;br /&gt;
 10  EXCEPTION&lt;br /&gt;
 11     WHEN OTHERS&lt;br /&gt;
 12     THEN&lt;br /&gt;
 13        DBMS_OUTPUT.PUT_LINE(sqlerrm);&lt;br /&gt;
 14  END;&lt;br /&gt;
 15  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; COL fname FORMAT A20&lt;br /&gt;
SQL&amp;gt; COL lname FORMAT A20&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; VARIABLE x REFCURSOR&lt;br /&gt;
SQL&amp;gt; EXEC emp_sel_regexp_like(:x)&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; print x&lt;br /&gt;
no rows selected&lt;br /&gt;
SQL&amp;gt; drop table emp;&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== The use of REF CURSOR==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;sql&amp;quot;&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- create demo table&lt;br /&gt;
SQL&amp;gt; create table Employee(&lt;br /&gt;
  2    ID                 VARCHAR2(4 BYTE)         NOT NULL primary key,&lt;br /&gt;
  3    First_Name         VARCHAR2(10 BYTE),&lt;br /&gt;
  4    Last_Name          VARCHAR2(10 BYTE),&lt;br /&gt;
  5    Start_Date         DATE,&lt;br /&gt;
  6    End_Date           DATE,&lt;br /&gt;
  7    Salary             Number(8,2),&lt;br /&gt;
  8    City               VARCHAR2(10 BYTE),&lt;br /&gt;
  9    Description        VARCHAR2(15 BYTE)&lt;br /&gt;
 10  )&lt;br /&gt;
 11  /&lt;br /&gt;
Table created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- prepare data&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2               values (&amp;quot;01&amp;quot;,&amp;quot;Jason&amp;quot;,    &amp;quot;Martin&amp;quot;,  to_date(&amp;quot;19960725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;20060725&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 1234.56, &amp;quot;Toronto&amp;quot;,  &amp;quot;Programmer&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;02&amp;quot;,&amp;quot;Alison&amp;quot;,   &amp;quot;Mathews&amp;quot;, to_date(&amp;quot;19760321&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19860221&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 6661.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;03&amp;quot;,&amp;quot;James&amp;quot;,    &amp;quot;Smith&amp;quot;,   to_date(&amp;quot;19781212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19900315&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 6544.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;04&amp;quot;,&amp;quot;Celia&amp;quot;,    &amp;quot;Rice&amp;quot;,    to_date(&amp;quot;19821024&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19990421&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2344.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Manager&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary,  City,       Description)&lt;br /&gt;
  2                values(&amp;quot;05&amp;quot;,&amp;quot;Robert&amp;quot;,   &amp;quot;Black&amp;quot;,   to_date(&amp;quot;19840115&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19980808&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 2334.78, &amp;quot;Vancouver&amp;quot;,&amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;06&amp;quot;,&amp;quot;Linda&amp;quot;,    &amp;quot;Green&amp;quot;,   to_date(&amp;quot;19870730&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19960104&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 4322.78,&amp;quot;New York&amp;quot;,  &amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;07&amp;quot;,&amp;quot;David&amp;quot;,    &amp;quot;Larry&amp;quot;,   to_date(&amp;quot;19901231&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;19980212&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 7897.78,&amp;quot;New York&amp;quot;,  &amp;quot;Manager&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt; insert into Employee(ID,  First_Name, Last_Name, Start_Date,                     End_Date,                       Salary, City,        Description)&lt;br /&gt;
  2                values(&amp;quot;08&amp;quot;,&amp;quot;James&amp;quot;,    &amp;quot;Cat&amp;quot;,     to_date(&amp;quot;19960917&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), to_date(&amp;quot;20020415&amp;quot;,&amp;quot;YYYYMMDD&amp;quot;), 1232.78,&amp;quot;Vancouver&amp;quot;, &amp;quot;Tester&amp;quot;)&lt;br /&gt;
  3  /&lt;br /&gt;
1 row created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- display data in the table&lt;br /&gt;
SQL&amp;gt; select * from Employee&lt;br /&gt;
  2  /&lt;br /&gt;
&lt;br /&gt;
ID   FIRST_NAME           LAST_NAME            START_DAT END_DATE      SALARY CITY       DESCRIPTION&lt;br /&gt;
---- -------------------- -------------------- --------- --------- ---------- ---------- ---------------&lt;br /&gt;
01   Jason                Martin               25-JUL-96 25-JUL-06    1234.56 Toronto    Programmer&lt;br /&gt;
02   Alison               Mathews              21-MAR-76 21-FEB-86    6661.78 Vancouver  Tester&lt;br /&gt;
03   James                Smith                12-DEC-78 15-MAR-90    6544.78 Vancouver  Tester&lt;br /&gt;
04   Celia                Rice                 24-OCT-82 21-APR-99    2344.78 Vancouver  Manager&lt;br /&gt;
05   Robert               Black                15-JAN-84 08-AUG-98    2334.78 Vancouver  Tester&lt;br /&gt;
06   Linda                Green                30-JUL-87 04-JAN-96    4322.78 New York   Tester&lt;br /&gt;
07   David                Larry                31-DEC-90 12-FEB-98    7897.78 New York   Manager&lt;br /&gt;
08   James                Cat                  17-SEP-96 15-APR-02    1232.78 Vancouver  Tester&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; SET SERVEROUTPUT ON ESCAPE OFF&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; CREATE OR REPLACE PROCEDURE authors_sel (cv_results IN OUT SYS_REFCURSOR)&lt;br /&gt;
  2  IS&lt;br /&gt;
  3  BEGIN&lt;br /&gt;
  4     OPEN cv_results FOR&lt;br /&gt;
  5     SELECT id, first_name, last_name&lt;br /&gt;
  6     FROM employee;&lt;br /&gt;
  7  END;&lt;br /&gt;
  8  /&lt;br /&gt;
Procedure created.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; VARIABLE x REFCURSOR&lt;br /&gt;
SQL&amp;gt; EXEC authors_sel(:x)&lt;br /&gt;
PL/SQL procedure successfully completed.&lt;br /&gt;
SQL&amp;gt; print x&lt;br /&gt;
&lt;br /&gt;
ID   FIRST_NAME           LAST_NAME&lt;br /&gt;
---- -------------------- --------------------&lt;br /&gt;
01   Jason                Martin&lt;br /&gt;
02   Alison               Mathews&lt;br /&gt;
03   James                Smith&lt;br /&gt;
04   Celia                Rice&lt;br /&gt;
05   Robert               Black&lt;br /&gt;
06   Linda                Green&lt;br /&gt;
07   David                Larry&lt;br /&gt;
08   James                Cat&lt;br /&gt;
8 rows selected.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt; -- clean the table&lt;br /&gt;
SQL&amp;gt; drop table Employee&lt;br /&gt;
  2  /&lt;br /&gt;
Table dropped.&lt;br /&gt;
SQL&amp;gt;&lt;br /&gt;
SQL&amp;gt;&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>