Date post: | 15-Jul-2015 |
Category: |
Documents |
Upload: | baabtracom-no-1-supplier-of-quality-freshers |
View: | 125 times |
Download: | 3 times |
Anu. S
www.facebook.com/Anu Sasidharan
twitter.com/username
in.linkedin.com/in/profilename
STORED PROCEDURES WITH CURSORS
Disclaimer: This presentation is prepared by trainees ofbaabtra as a part of mentoring program. This is not officialdocument of baabtra –Mentoring PartnerBaabtra-Mentoring Partner is the mentoring division of baabte System Technologies Pvt . Ltd
STORED PROCEDURES(SP)
Similar to procedures or functions in c
programming language.
A stored procedure is a group of SQL statements
that has been created and stored in the database.
Stored procedures are stored in database data
dictionary.
ADVANTAGES OF USING SP
INCREASES PERFORMANCE
REDUCES NETWORK TRAFFIC
EFFICIENT REUSE OF CODE
ENHANCED SECURITY CONTROL
HOW AN SP IS STORED IN A
DATABASE
DATABASE
getStudent()
BEGINselect * from
table_student;END
ViewStud.jsp........................................Call getStudent();StudDetails.php
.....................Call getStudent();......................
Marklist.jsp..............................................Call getStudent();.......................
StudDetails.php.....................Select* from table_student;......................
ViewStud.jsp........................................Select * from table_student;
Marklist.jsp..............................................Select * from table_student;.......................
TO CREATE AN STORED
PROCEDURE
SYNTAX:
DELIMITER //
CREATE PROCEDURE procedure_name(argument _list)
BEGIN
Set of SQL queries
END//
DELIMITER ;
EXAMPLE OF STORED PROCEDURE
DELIMITER //
CREATE PROCEDURE CSP_INSERT_tbl_user(IN vchr_uname varchar(50),
IN vchr_pswd varchar(50), IN vchr_fkey int)
BEGIN
INSERT into
tbl_user(vchr_username,vchr_password,fk_vchr_role_id)
values(vchr_uname, vchr_pswd,vchr_fkey);
END//
DELIMITER ;
EXAMPLE
pk_int_user_id vchr_username vchr_password fk_vchr_role_id
1 John John123 admin
2 Geetha Geetha123 teacher
Tbl_user
CALL CSP_INSERT_tbl_user(‘Jijo’,’Jijo123’,’student’ );
pk_int_user_id vchr_username vchr_password fk_vchr_role_id
1 John John123 admin
2 Geetha Geetha123 teacher
3 Jijo Jijo123 student
Tbl_user
Delimiter //
CREATE PROCEDURE getstudmark ( IN id int, OUT studname
varchar(50), OUT mark int)
BEGIN
Select vchr_name into studname, int_tot_marks into mark
from tbl_student
where pk_int_stud_id=id;
END//
Delimiter ;
EXAMPLE
CURSORS
For querying of multiple rows of data .
To fetch one or more rows from a SQL result
set to a variable.
DECLARING A CURSOR
SYNTAX:
DECLARE cursor_name CURSOR FOR select_query
EXAMPLE:
DECLARE MyCur CURSOR FOR SELECT vchr_stud_name,int_stud_mark FROM tbl_student;
EXAMPLEDELIMITER //Create procedure StudDet()Begin
DECLARE name VARCHAR(50);DECLARE mark INT;DECLARE done INT DEFAULT 0;DECLARE myCur CURSOR FOR SELECT vchr_stud_name,int_stud_mark from tbl_student;DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;OPEN myCur;Read_Loop: LOOPFETCH myCur INTO name, mark;If done=1 THENLEAVE Read_LoopElse iterate Read_LoopENDIFEND LOOP Read_loopCLOSE myCur ;
END//
NOW LETS DO AN EXCERCISE
CREATE TWO TABLES tbl_login, tbl_user.
WRITE A SINGLE STORED PROCEDURE TO
INSERT VALUES INTO BOTH TABLES.
CREATE TABLE tbl_login( pk_int_login_id int auto_increment,vchr_user_name varchar(25),vchr_password varchar(25),vchr_user_type varchar(25),PRIMARY key(pk_int_login_id));
CREATE TABLE tbl_user(pk_int_user_id int auto_increment,fk_int_user_id int,vchr_frst_name varchar(20),vchr_last_name varchar(20),vchr_designation varchar(20),vchr_place varchar(20),FOREIGN key(fk_int_user_id) REFERENCEStbl_login(pk_int_login_id),PRIMARY key(pk_int_user_id));
CREATING TABLES tbl_login & tbl_user
delimiter //CREATE PROCEDURE insert_into_table(in vchr_uname varchar(25),in vchr_pwd varchar(25),in vchr_utype varchar(25),in vchr_fname varchar(20),in vchr_lname varchar(20),in vchr_desig varchar(20),in vchr_plc varchar(20))
BEGINDECLARE id INT DEFAULT 0;insert into tbl_login(vchr_user_name,vchr_password,vchr_user_type) values(vchr_uname,vchr_pwd,vchr_utype);set id=last_insert_id();insert into tbl_user (fk_int_user_id,vchr_frst_name,vchr_last_name,vchr_designation,vchr_place )
values(id,vchr_fname,vchr_lname,vchr_desig,vchr_plc);END//delimiter ;
Stored procedure
Want to learn more about programming or Looking to become a good programmer?
Are you wasting time on searching so many contents online?
Do you want to learn things quickly?
Tired of spending huge amount of money to become a Software professional?
Do an online course @ baabtra.com
We put industry standards to practice. Our structured, activity based courses are so designedto make a quick, good software professional out of anybody who holds a passion for coding.
Follow us @ twitter.com/baabtra
Like us @ facebook.com/baabtra
Subscribe to us @ youtube.com/baabtra
Become a follower @ slideshare.net/BaabtraMentoringPartner
Connect to us @ in.linkedin.com/in/baabtra
Thanks in advance.
www.baabtra.com | www.massbaab.com |www.baabte.com
Contact Us
Emarald Mall (Big Bazar Building)Mavoor Road, Kozhikode,Kerala, India.Ph: + 91 – 495 40 25 550
NC Complex, Near Bus StandMukkam, Kozhikode,Kerala, India.Ph: + 91 – 495 40 25 550
Cafit Square,Hilite Business Park,Near Pantheerankavu,Kozhikode
Start up VillageEranakulam,Kerala, India.
Email: [email protected]