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 | +-------+ |