Declare Cursors in SQL

Declare Cursors in SQL is used to define cursor and its characteristics.
Understand with Example
The Tutorial illustrate a example from 'Declare Cursors in SQL'. To grasp the
example, we create a table 'Stu_Table' with table attribute like field name
,data type etc. The create table create a table name 'Stu_Table'.
Create Table Stu_Table
create table Stu_Table(Stu_Id integer(2), Stu_Name varchar(15), Stu_Class varchar(10))
|
Insert data into Stu_Table
The insert into add the records or rows to
the table 'Stu_Table'
insert into Stu_Table values(1,'Komal',10);
insert into Stu_Table values(2,'Ajay',10);
insert into Stu_Table values(3,'Rakesh',10);
insert into Stu_Table values(4,'Bhanu',10);
insert into Stu_Table values(5,'Santosh',10);
insert into Stu_Table values(6,'Tanuj',10);
|
Stu_Table
| Stu_Id |
Stu_Name |
Stu_Class |
| 1 |
Komal |
10 |
| 2 |
Ajay |
10 |
| 3 |
Rakesh |
10 |
| 4 |
Bhanu |
10 |
| 5 |
Santosh |
10 |
| 6 |
Tanuj |
10 |
Create Cursor
The given below Query create a procedure curedemo
which accept id as INPUT parameter and var as OUTPUT parameter. The DECLARE
cur1 is used to define the cursor and its characteristic. OPEN
cur1 is used to open the cursor 'cur1'.The Fetch curl1 fetch the
rows one by one into var. Finally close Cursor1 close the
cur1temporary.
DELIMITER $$
create procedure curdemo(id int , out var varchar(10))
begin
DECLARE cur1 CURSOR FOR SELECT stu_name from stu_table where stu_id =id;
OPEN cur1;
Fetch cur1 into var;
close cur1;
end$$
DELIMITER ;
|
Call Cursor
The call curdemo (1,@name) execute the procedure
curdemo and return the value present in the output parameter.
call curdemo(1, @name);
select @name;
|
Result
+-------+
| @name |
+-------+
| Komal |
+-------+
|

|