/**
What is a cursor?
A cursor is a pointer that points a set of records for processing. Private SQL area is where cursor results are placed.
Implicit cursors and Explicit cursors are two types of cursors.
There are a number of ways a cursor can be declared and used based on the requirement. They are as follows:
1. Simple FOR loop cursor
2. Explicit declaration and invoking it
***/
clear screen
set serveroutput on size 100000
declare
--Cursor Declaration
cursor cur_Customer_Data
is
Select *
from cust_table;
cur_Variable cur_Customer_Data%rowtype; -- Cursor variable to hold recordset
var1 cust_table%rowtype; -- variable to hold data on FOR loop cursor
begin
dbms_output.put_line('-------------------------------------------------------------------');
dbms_output.put_line('FOR loop started at => '||to_char(sysdate,'hh:mi:ss'));
dbms_output.put_line('-------------------------------------------------------------------');
for var1 in (Select * from cust_table)
loop
dbms_output.put_line(var1.cust_id||','||var1.cust_name);
end loop;
dbms_output.put_line('-------------------------------------------------------------------');
dbms_output.put_line('FOR loop ended at => '||to_char(sysdate,'hh:mi:ss'));
dbms_output.put_line('-------------------------------------------------------------------');
dbms_output.put_line('-------------------------------------------------------------------');
dbms_output.put_line('Fetch loop started at => '||to_char(sysdate,'hh:mi:ss'));
dbms_output.put_line('-------------------------------------------------------------------');
open cur_Customer_Data;
loop
fetch cur_Customer_Data into cur_Variable;
exit when cur_Customer_Data%NOTFOUND;
dbms_output.put_line(cur_Variable.cust_id||','||cur_Variable.cust_name);
end loop;
dbms_output.put_line('-------------------------------------------------------------------');
dbms_output.put_line('Fetch loop ended at => '||to_char(sysdate,'hh:mi:ss'));
dbms_output.put_line('-------------------------------------------------------------------');
if (cur_Customer_Data%isopen)
then
dbms_output.put_line('Cursor is still open and now I am closing it!');
close cur_Customer_Data;
else
dbms_output.put_line('Cursor already closed');
end if;
end;
/
What is a cursor?
A cursor is a pointer that points a set of records for processing. Private SQL area is where cursor results are placed.
Implicit cursors and Explicit cursors are two types of cursors.
There are a number of ways a cursor can be declared and used based on the requirement. They are as follows:
1. Simple FOR loop cursor
2. Explicit declaration and invoking it
***/
clear screen
set serveroutput on size 100000
declare
--Cursor Declaration
cursor cur_Customer_Data
is
Select *
from cust_table;
cur_Variable cur_Customer_Data%rowtype; -- Cursor variable to hold recordset
var1 cust_table%rowtype; -- variable to hold data on FOR loop cursor
begin
dbms_output.put_line('-------------------------------------------------------------------');
dbms_output.put_line('FOR loop started at => '||to_char(sysdate,'hh:mi:ss'));
dbms_output.put_line('-------------------------------------------------------------------');
for var1 in (Select * from cust_table)
loop
dbms_output.put_line(var1.cust_id||','||var1.cust_name);
end loop;
dbms_output.put_line('-------------------------------------------------------------------');
dbms_output.put_line('FOR loop ended at => '||to_char(sysdate,'hh:mi:ss'));
dbms_output.put_line('-------------------------------------------------------------------');
dbms_output.put_line('-------------------------------------------------------------------');
dbms_output.put_line('Fetch loop started at => '||to_char(sysdate,'hh:mi:ss'));
dbms_output.put_line('-------------------------------------------------------------------');
open cur_Customer_Data;
loop
fetch cur_Customer_Data into cur_Variable;
exit when cur_Customer_Data%NOTFOUND;
dbms_output.put_line(cur_Variable.cust_id||','||cur_Variable.cust_name);
end loop;
dbms_output.put_line('-------------------------------------------------------------------');
dbms_output.put_line('Fetch loop ended at => '||to_char(sysdate,'hh:mi:ss'));
dbms_output.put_line('-------------------------------------------------------------------');
if (cur_Customer_Data%isopen)
then
dbms_output.put_line('Cursor is still open and now I am closing it!');
close cur_Customer_Data;
else
dbms_output.put_line('Cursor already closed');
end if;
end;
/
Comments