<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Oracle Cursor dan Ref Cursor</title>
	<atom:link href="http://blog.neuronworks.net/2009/01/06/oracle-cursor-danref-cursor/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.neuronworks.net/2009/01/06/oracle-cursor-danref-cursor/</link>
	<description></description>
	<lastBuildDate>Mon, 17 May 2010 01:12:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Seneng Sinau</title>
		<link>http://blog.neuronworks.net/2009/01/06/oracle-cursor-danref-cursor/comment-page-1/#comment-8</link>
		<dc:creator>Seneng Sinau</dc:creator>
		<pubDate>Wed, 14 Jan 2009 03:39:14 +0000</pubDate>
		<guid isPermaLink="false">http://blog.neuronworks.net/?p=94#comment-8</guid>
		<description>terima kasih onlypie, sangat membantu</description>
		<content:encoded><![CDATA[<p>terima kasih onlypie, sangat membantu</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: onlypie86</title>
		<link>http://blog.neuronworks.net/2009/01/06/oracle-cursor-danref-cursor/comment-page-1/#comment-7</link>
		<dc:creator>onlypie86</dc:creator>
		<pubDate>Mon, 12 Jan 2009 03:50:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.neuronworks.net/?p=94#comment-7</guid>
		<description>saya akan memberikan beberapa contoh cara pembuatan procedure yang mengembalikan nilai berupa ref cursor : 
--create table pegawai

                CREATE TABLE PEGAWAI (
                NIP VARCHAR2(9) PRIMARY KEY,
                NAMA VARCHAR2(50)
                );

 --procedure dengan ref cursor di dalamnya
                CREATE OR REPLACE PROCEDURE test_pegawai
                AS
                TYPE rc IS REF CURSOR;
                v_cursor rc;
                v_data pegawai%rowtype;
                BEGIN
                OPEN v_cursor FOR SELECT * FROM PEGAWAI;
                LOOP
                FETCH v_cursor INTO v_data;
                EXIT WHEN v_cursor%notfound;
                DBMS_OUTPUT.PUT_LINE(v_cursor%ROWCOUNT &#124;&#124;&#039;. Pegawai dengan NIP &#039; &#124;&#124;v_data.NIP &#124;&#124;&#039; bernama &#039;&#124;&#124;v_data.NAMA);
                END LOOP;
                CLOSE v_cursor;
                END test_pegawai;

-- cara memanggil  procedure test_pegawai 
  EXECUTE test_pegawai;

Nah bagaimana jika ref cursor itu ada di dalam package specification?

--create package
CREATE OR REPLACE PACKAGE EMPLOYEE
AS
 TYPE rc IS REF CURSOR RETURN PEGAWAI%ROWTYPE;
END EMPLOYEE;

--create procedure yang memanggil ref cursor. ref cursor dapat dipanggil melalui package body atau procedure yang terpisah  

CREATE OR REPLACE PROCEDURE call_employee (ref_c OUT EMPLOYEE.RC)
AS
v_data PEGAWAI%ROWTYPE;
BEGIN
OPEN ref_c FOR SELECT * FROM PEGAWAI;
LOOP
FETCH ref_c INTO v_data;
EXIT WHEN ref_c%NOTFOUND;
DBMS_OUTPUT.PUT_LINE (ref_c%ROWCOUNT &#124;&#124;&#039;. Pegawai dengan NIP &#039; &#124;&#124;v_data.NIP &#124;&#124;&#039; bernama &#039; &#124;&#124;v_data.NAMA);
END LOOP;
CLOSE ref_c;
END call_employee;
 
--cara memanggil procedure call_employee. Ingat procedure yang mempunyai atribut OUT atau IN OUT harus dipanggil melalui blok PL/SQL lain 
DECLARE 
c EMPLOYEE.RC;
BEGIN
call_employee(c);
END;

Nah selamat mencoba ^^</description>
		<content:encoded><![CDATA[<p>saya akan memberikan beberapa contoh cara pembuatan procedure yang mengembalikan nilai berupa ref cursor :<br />
&#8211;create table pegawai</p>
<p>                CREATE TABLE PEGAWAI (<br />
                NIP VARCHAR2(9) PRIMARY KEY,<br />
                NAMA VARCHAR2(50)<br />
                );</p>
<p> &#8211;procedure dengan ref cursor di dalamnya<br />
                CREATE OR REPLACE PROCEDURE test_pegawai<br />
                AS<br />
                TYPE rc IS REF CURSOR;<br />
                v_cursor rc;<br />
                v_data pegawai%rowtype;<br />
                BEGIN<br />
                OPEN v_cursor FOR SELECT * FROM PEGAWAI;<br />
                LOOP<br />
                FETCH v_cursor INTO v_data;<br />
                EXIT WHEN v_cursor%notfound;<br />
                DBMS_OUTPUT.PUT_LINE(v_cursor%ROWCOUNT ||&#8217;. Pegawai dengan NIP &#8216; ||v_data.NIP ||&#8217; bernama &#8216;||v_data.NAMA);<br />
                END LOOP;<br />
                CLOSE v_cursor;<br />
                END test_pegawai;</p>
<p>&#8211; cara memanggil  procedure test_pegawai<br />
  EXECUTE test_pegawai;</p>
<p>Nah bagaimana jika ref cursor itu ada di dalam package specification?</p>
<p>&#8211;create package<br />
CREATE OR REPLACE PACKAGE EMPLOYEE<br />
AS<br />
 TYPE rc IS REF CURSOR RETURN PEGAWAI%ROWTYPE;<br />
END EMPLOYEE;</p>
<p>&#8211;create procedure yang memanggil ref cursor. ref cursor dapat dipanggil melalui package body atau procedure yang terpisah  </p>
<p>CREATE OR REPLACE PROCEDURE call_employee (ref_c OUT EMPLOYEE.RC)<br />
AS<br />
v_data PEGAWAI%ROWTYPE;<br />
BEGIN<br />
OPEN ref_c FOR SELECT * FROM PEGAWAI;<br />
LOOP<br />
FETCH ref_c INTO v_data;<br />
EXIT WHEN ref_c%NOTFOUND;<br />
DBMS_OUTPUT.PUT_LINE (ref_c%ROWCOUNT ||&#8217;. Pegawai dengan NIP &#8216; ||v_data.NIP ||&#8217; bernama &#8216; ||v_data.NAMA);<br />
END LOOP;<br />
CLOSE ref_c;<br />
END call_employee;</p>
<p>&#8211;cara memanggil procedure call_employee. Ingat procedure yang mempunyai atribut OUT atau IN OUT harus dipanggil melalui blok PL/SQL lain<br />
DECLARE<br />
c EMPLOYEE.RC;<br />
BEGIN<br />
call_employee(c);<br />
END;</p>
<p>Nah selamat mencoba ^^</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Seneng Sinau</title>
		<link>http://blog.neuronworks.net/2009/01/06/oracle-cursor-danref-cursor/comment-page-1/#comment-6</link>
		<dc:creator>Seneng Sinau</dc:creator>
		<pubDate>Sat, 10 Jan 2009 15:01:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.neuronworks.net/?p=94#comment-6</guid>
		<description>Saya mau tanya kalo mau buat procedure yang return Ref cursor bagaimana?

Sekalian contoh ngecek apakah sudah berhasil atao blom ditunggu ya</description>
		<content:encoded><![CDATA[<p>Saya mau tanya kalo mau buat procedure yang return Ref cursor bagaimana?</p>
<p>Sekalian contoh ngecek apakah sudah berhasil atao blom ditunggu ya</p>
]]></content:encoded>
	</item>
</channel>
</rss>
