Skip to main content

PLSQL Programming Part 5 - CURSOR AND ITS ATTRIBUTES

/**
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

Popular posts from this blog

Design and Operations ( Employee- Model )

-- DB design drop table emp_Salary; drop table emp_Designation; drop table emp; drop table Designations; drop table Departments; drop table Salary_Bands; drop table Addresses; Create table emp( emp_id number, emp_Name varchar2(20), emp_address_id varchar2(10), emp_created_date date, emp_created_by varchar2(20), constraint e_pk primary key(emp_id) ); Create table Departments( dept_id number, dept_name Varchar2(20), constraints dept_pk primary key(dept_id) ); Create table Designations( dept_id number references Departments(dept_id), desg_id number, desg_description varchar2(20), constraints desg_pk primary key(dept_id,desg_id) ); Create table emp_Designation( emp_id number references emp(emp_id), emp_des_dept_id number references departments(dept_...

Minimum / Maximum from the given list

File: Execute.java -------------------------------------------------------------------------------------- package org.developersbrain.Solutions; public class Execute { public static int min(int[] arrList){ int minV1=0; int minV2=0; int aLen=arrList.length; minV1=arrList[0]; minV2=arrList[aLen-1]; for(int i=0,j=aLen-1;i<=aLen/2;i++,j--){ if(minV1 > arrList[i]){ minV1=arrList[i]; } if(minV2 > arrList[j]){ minV2=arrList[j]; } } if(minV2<=minV1){ return minV2; }else{ return minV1; } } public static int max(int[] arrList){ int minV1=0; int minV2=0; int aLen=arrList.length; minV1=arrList[0]; minV2=arrList[aLen-1]; for(int i=0,j=aLen-1;i<=aLen/2;i++,j--){ if(minV1 < arrList[i]){ minV1=arrList[i]; } if(minV2 < arrList[j]){ minV2=arrList[j]; } } if(minV2>=minV1){ return minV2; }else{ return minV1; } } ...

SQL - Binary Search Tree

Problem Statement You are given a table,   BST , containing two columns:   N  and   P,  where   N   represents the value of a node in   BST , and   P   is the parent of   N . Write a query to find the node type of   BST   ordered by the value of the node. Output one of the following for each node: ·          Root : If node is root node. ·          Leaf : If node is leaf node. ·          Inner : If node is neither root nor leaf node. Sample Input                 N          P 1 2 3 2 6 8 9 8 2 5 8 5 5         null Sample Output 1 Leaf 2 Inner 3 Leaf 5 Root 6 Leaf 8 Inner 9 Leaf Explanation The   BST ...