SlideShare a Scribd company logo
Introduction To
DBMS and SQL Server
Stored Procedures
Stored Procedures
• A stored procedure is a method to encapsulate
repetitive tasks.
• A stored Procedure is actually stored in
database data dictionary
Without Stored Procedure
Employee.jsp
......................
Select * from
tbl_employee
................
Report.php
..........................
Select * from
tbl_employee
.................
.....................
Select * from
tbl_employee
viewDetails.php
..........................
.........................
Select * from
tbl_employee
...............
Database
Stored Procedure
Employee.php
..........................
..........................
exec
getName();
................
Report.php
..........................
.........................
..........................
exec
getName();
viewDetails.php
..........................
.........................
exec
getName();
...............
getName()
Begin
Select * from tbl_employee
End
Database
Advantages
• Precompiled Execution
•sqlserver compiles each stored procedure once and
then re utilizes the execution plan. This result in
tremendous performance boosts when stored
procedures are called repeatedly
• Reduced client server traffic
•If network traffic is concerned you will be happy to
learn that stored procedures can reduce long sql
queries to a single line that is transmitted between
application program and database server.
Advantages
• Efficient reuse of code and programming abstraction
•Stored procedures can be used by multiple programs
and users. If you utilize them in a planned manner,
you’ll find the development cycle takes less time.
• Enhanced Security Control
•You can grant users permission to execute stored
procedure independently of underlying table
permissions
How to create Stored Procedure ?
example
CREATE PROCEDURE getName(@id int)
as
BEGIN
Select * from tbl_user where userid=@id;
END
EXEC getName @id=1 ;
How to create Stored Procedure ?
example
CREATE PROCEDURE getName(@id int)
BEGIN
Select * from tbl_user where userid=@id;
END
EXEC getName @id=1;
Is the keyword to create a new stored
procedure .we can use proc also
How to create Stored Procedure ?
example
CREATE PROCEDURE getName(@id int)
BEGIN
Select * from tbl_user where userid=@id;
END
EXEC getName @id=1
Is the name of the stored
procedure that we are creating
How to create Stored Procedure
? example
CREATE PROCEDURE getName ( @id int)
BEGIN
Select * from tbl_user where userid=@id;
END
Call getName @id=1;
Is the body of the stored procedure. Here we
have only a single select query statements.
We can also apply logic using the below
• DECLARE a INT; : declaring an integer
type variable
• SET a=20; : Setting value of a
to 20
• IF THEN
• ELSE IF
label1: LOOP
SET p1 = p1 + 1;
IF p1 < 10 THEN
ITERATE label1;
END IF;
LEAVE label1;
END LOOP label1;
: For conditions
: Loops
How to create Stored Procedure ?
example
CREATE PROCEDURE getName ( @id int)
BEGIN
Select * from tbl_user where userid=@id;
END
exec getName=@id=1;
How to create Stored Procedure ?
example
CREATE PROCEDURE getName ( @id int)
BEGIN
Select * from tbl_user where userid=@id;
END
exec getName @id=1;
Calling the stored procedure we’ve
just created and passing the value
1001 as its argument
How to create Stored Procedure ?
example
CREATE PROCEDURE getSale1(@id int,@pri int output ,@sal int
output)
as BEGIN
Select @pri=sum(price), @sal=avg(sales) from tbl_sales
where pk_int_id=@id;
END
declare @total int
declare @sale int
exec getSale1 @id=1,@pri=@total output,@sal=@sale output;
select @total; select @sale;
• Create the below table
Create a stored procedure called
– csp_getSalary(1000) : should return the salary of employee with id as
passed in the argument
– Csp_getSalaryAtPlace(‘calicut’,@total) : should return the total salary of
employees from a perticular place
Live Task
Tbl_employee
Emp_id Emp_name Emp_age Emp_email int_salary vchr_place
1000 Deepak 24 dk@gmail.com 10000 Calicut
1001 Aneesh 23 an@gmail.com 20000 Cochin
1002 Naveen 25 nn@gmail.com 10000 Calicut
1003 Jacob 25 jb@gmail.com 30000 Cochin
Cursors
• SELECT INTO is fine for single-row queries, but many
applications require the querying of multiple rows of data.
You will use a cursor in SQL Server to accomplish this.
• A cursor lets you fetch one or more rows from a SQL result set
into stored program variables, usually with the intention of
performing some row-by-row processing on the result set.
Cursors - example
create procedure CSP_status_change
as begin
declare @done int;
set @done=0;
declare @studId int;
declare @studStatus bit;
declare @dateDif int;
declare @myCur cursor
set @myCur = cursor for select
pk_int_student_id,bln_student_status,
datediff(day,dat_fph_date,GETDATE())as date_difference from
tbl_students
join tbl_fee_payment_history on
fk_int_student_id=pk_int_student_id;
open @myCur
fetch next from @myCur into @studId,@studStatus,@dateDif;
while @@FETCH_STATUS = 0 begin
if @dateDif>15
update tbl_students set bln_student_status=0 where
pk_int_student_id=@studId;
else
update tbl_students set bln_student_status=1 where
pk_int_student_id=@studId;
fetch next from @myCur into @studId,@studStatus,@dateDif;
end;
close @myCur;
deallocate @myCur;
END;
exec CSP_status_change;
fetch next from @myCur
Questions?
“A good question deserve a good
grade…”
Self Check !!
• Why should someone use stored procedure?
– To avoid data redundancy
– To reduce network traffic between
application server and database server
– To ensure data integrity
Self Check !!
• Why should someone use stored procedure?
– To avoid data redundancy
– To reduce network traffic between
application server and database server
– To ensure data integrity
Self Check !!
Self Check !!
• Why should someone change the delimiter before
creating a stored procedure?
– To use ; as separation between multiple statements in a
stored procedure body
– To push the server to compile the whole body of stored
procedure all together
– Both of above
– None of above
Self Check !!
• Why should someone change the delimiter before
creating a stored procedure?
– To use ; as separation between multiple statements in a
stored procedure body
– To push the server to compile the whole body of stored
procedure all together
– Both of above
– None of above
Self Check !!
CREATE PROCEDURE simpleProc ( OUT param1 INT)
BEGIN
SELECT COUNT(*) INTO param1 FROM t ;
END
EXEC simpleProc(@a);
Select @a ;
Self Check !!
CREATE PROCEDURE simpleProc ( @param1 INT)
BEGIN
SELECT COUNT(*) INTO param1 FROM t ;
END
exec simpleProc(@a);
Select @a ;
Self Check !!
What are the uses of cursors?
•For extracting multiple rows from a table
•For extracting multiple rows into variables from a table
•For setting handlers
Self Check !!
What are the uses of cursors?
•For extracting multiple rows from a table
•For extracting multiple rows into variables from a table
•For setting handlers
End of day 1
Ad

More Related Content

What's hot (20)

Store procedures
Store proceduresStore procedures
Store procedures
Farzan Wadood
 
Stored-Procedures-Presentation
Stored-Procedures-PresentationStored-Procedures-Presentation
Stored-Procedures-Presentation
Chuck Walker
 
Stored procedure
Stored procedureStored procedure
Stored procedure
baabtra.com - No. 1 supplier of quality freshers
 
Cursors
CursorsCursors
Cursors
Priyanka Yadav
 
SQL Queries Information
SQL Queries InformationSQL Queries Information
SQL Queries Information
Nishant Munjal
 
database language ppt.pptx
database language ppt.pptxdatabase language ppt.pptx
database language ppt.pptx
Anusha sivakumar
 
PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts PL/SQL Introduction and Concepts
PL/SQL Introduction and Concepts
Bharat Kalia
 
Stored procedure in sql server
Stored procedure in sql serverStored procedure in sql server
Stored procedure in sql server
baabtra.com - No. 1 supplier of quality freshers
 
Chapter 1 introduction to sql server
Chapter 1 introduction to sql serverChapter 1 introduction to sql server
Chapter 1 introduction to sql server
baabtra.com - No. 1 supplier of quality freshers
 
SQL Views
SQL ViewsSQL Views
SQL Views
baabtra.com - No. 1 supplier of quality freshers
 
SQL - DML and DDL Commands
SQL - DML and DDL CommandsSQL - DML and DDL Commands
SQL - DML and DDL Commands
Shrija Madhu
 
5. stored procedure and functions
5. stored procedure and functions5. stored procedure and functions
5. stored procedure and functions
Amrit Kaur
 
Types Of Join In Sql Server - Join With Example In Sql Server
Types Of Join In Sql Server - Join With Example In Sql ServerTypes Of Join In Sql Server - Join With Example In Sql Server
Types Of Join In Sql Server - Join With Example In Sql Server
programmings guru
 
File organization
File organizationFile organization
File organization
RituBhargava7
 
Triggers in SQL | Edureka
Triggers in SQL | EdurekaTriggers in SQL | Edureka
Triggers in SQL | Edureka
Edureka!
 
Stored procedure
Stored procedureStored procedure
Stored procedure
Deepak Sharma
 
DBMS Notes: DDL DML DCL
DBMS Notes: DDL DML DCLDBMS Notes: DDL DML DCL
DBMS Notes: DDL DML DCL
Sreedhar Chowdam
 
PLSQL Cursors
PLSQL CursorsPLSQL Cursors
PLSQL Cursors
spin_naresh
 
SQL Queries
SQL QueriesSQL Queries
SQL Queries
Nilt1234
 
Procedure and Functions in pl/sql
Procedure and Functions in pl/sqlProcedure and Functions in pl/sql
Procedure and Functions in pl/sql
Ñirmal Tatiwal
 

Viewers also liked (7)

SQL Server Stored procedures
SQL Server Stored proceduresSQL Server Stored procedures
SQL Server Stored procedures
Randy Riness @ South Puget Sound Community College
 
Delay analysis final
Delay analysis finalDelay analysis final
Delay analysis final
Mahmoud Awwad, PMP, MCIOB
 
Chapter 4 functions, views, indexing
Chapter 4  functions, views, indexingChapter 4  functions, views, indexing
Chapter 4 functions, views, indexing
baabtra.com - No. 1 supplier of quality freshers
 
Sql Functions And Procedures
Sql Functions And ProceduresSql Functions And Procedures
Sql Functions And Procedures
DataminingTools Inc
 
Sql Server 2012
Sql Server 2012Sql Server 2012
Sql Server 2012
Performics.Convonix
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
Douglas Bernardini
 
OLAP
OLAPOLAP
OLAP
Slideshare
 
Ad

Similar to Chapter 3 stored procedures (20)

Introduction to mysql part 3
Introduction to mysql part 3Introduction to mysql part 3
Introduction to mysql part 3
baabtra.com - No. 1 supplier of quality freshers
 
Sql storeprocedure
Sql storeprocedureSql storeprocedure
Sql storeprocedure
ftz 420
 
Sql transacation
Sql transacationSql transacation
Sql transacation
baabtra.com - No. 1 supplier of quality freshers
 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure Presentation
Amin Uddin
 
Stored procedure Notes By Durgesh Singh
Stored procedure Notes By Durgesh SinghStored procedure Notes By Durgesh Singh
Stored procedure Notes By Durgesh Singh
imdurgesh
 
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Jim Czuprynski
 
My SQL Skills Killed the Server
My SQL Skills Killed the ServerMy SQL Skills Killed the Server
My SQL Skills Killed the Server
devObjective
 
Sql killedserver
Sql killedserverSql killedserver
Sql killedserver
ColdFusionConference
 
Java OOP Programming language (Part 8) - Java Database JDBC
Java OOP Programming language (Part 8) - Java Database JDBCJava OOP Programming language (Part 8) - Java Database JDBC
Java OOP Programming language (Part 8) - Java Database JDBC
OUM SAOKOSAL
 
Stored procedure,transaction
Stored procedure,transactionStored procedure,transaction
Stored procedure,transaction
baabtra.com - No. 1 supplier of quality freshers
 
Oracle SQL Tuning
Oracle SQL TuningOracle SQL Tuning
Oracle SQL Tuning
Alex Zaballa
 
My Database Skills Killed the Server
My Database Skills Killed the ServerMy Database Skills Killed the Server
My Database Skills Killed the Server
ColdFusionConference
 
Stored procedures by thanveer danish melayi
Stored procedures by thanveer danish melayiStored procedures by thanveer danish melayi
Stored procedures by thanveer danish melayi
Muhammed Thanveer M
 
PL/SQL Stored Procedures And Cursors.ppt
PL/SQL Stored Procedures And Cursors.pptPL/SQL Stored Procedures And Cursors.ppt
PL/SQL Stored Procedures And Cursors.ppt
sonaligaikwad281110
 
Msql
Msql Msql
Msql
ksujitha
 
Database training for developers
Database training for developersDatabase training for developers
Database training for developers
Bhaveshkumar Thakkar
 
Jdbc oracle
Jdbc oracleJdbc oracle
Jdbc oracle
yazidds2
 
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Tony jambu   (obscure) tools of the trade for tuning oracle sq lsTony jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
InSync Conference
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slides
metsarin
 
Module04
Module04Module04
Module04
Sridhar P
 
Sql storeprocedure
Sql storeprocedureSql storeprocedure
Sql storeprocedure
ftz 420
 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure Presentation
Amin Uddin
 
Stored procedure Notes By Durgesh Singh
Stored procedure Notes By Durgesh SinghStored procedure Notes By Durgesh Singh
Stored procedure Notes By Durgesh Singh
imdurgesh
 
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Autonomous Transaction Processing (ATP): In Heavy Traffic, Why Drive Stick?
Jim Czuprynski
 
My SQL Skills Killed the Server
My SQL Skills Killed the ServerMy SQL Skills Killed the Server
My SQL Skills Killed the Server
devObjective
 
Java OOP Programming language (Part 8) - Java Database JDBC
Java OOP Programming language (Part 8) - Java Database JDBCJava OOP Programming language (Part 8) - Java Database JDBC
Java OOP Programming language (Part 8) - Java Database JDBC
OUM SAOKOSAL
 
My Database Skills Killed the Server
My Database Skills Killed the ServerMy Database Skills Killed the Server
My Database Skills Killed the Server
ColdFusionConference
 
Stored procedures by thanveer danish melayi
Stored procedures by thanveer danish melayiStored procedures by thanveer danish melayi
Stored procedures by thanveer danish melayi
Muhammed Thanveer M
 
PL/SQL Stored Procedures And Cursors.ppt
PL/SQL Stored Procedures And Cursors.pptPL/SQL Stored Procedures And Cursors.ppt
PL/SQL Stored Procedures And Cursors.ppt
sonaligaikwad281110
 
Jdbc oracle
Jdbc oracleJdbc oracle
Jdbc oracle
yazidds2
 
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
Tony jambu   (obscure) tools of the trade for tuning oracle sq lsTony jambu   (obscure) tools of the trade for tuning oracle sq ls
Tony jambu (obscure) tools of the trade for tuning oracle sq ls
InSync Conference
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slides
metsarin
 
Ad

More from baabtra.com - No. 1 supplier of quality freshers (20)

Agile methodology and scrum development
Agile methodology and scrum developmentAgile methodology and scrum development
Agile methodology and scrum development
baabtra.com - No. 1 supplier of quality freshers
 
Best coding practices
Best coding practicesBest coding practices
Best coding practices
baabtra.com - No. 1 supplier of quality freshers
 
Core java - baabtra
Core java - baabtraCore java - baabtra
Core java - baabtra
baabtra.com - No. 1 supplier of quality freshers
 
Acquiring new skills what you should know
Acquiring new skills   what you should knowAcquiring new skills   what you should know
Acquiring new skills what you should know
baabtra.com - No. 1 supplier of quality freshers
 
Baabtra.com programming at school
Baabtra.com programming at schoolBaabtra.com programming at school
Baabtra.com programming at school
baabtra.com - No. 1 supplier of quality freshers
 
99LMS for Enterprises - LMS that you will love
99LMS for Enterprises - LMS that you will love 99LMS for Enterprises - LMS that you will love
99LMS for Enterprises - LMS that you will love
baabtra.com - No. 1 supplier of quality freshers
 
Php sessions & cookies
Php sessions & cookiesPhp sessions & cookies
Php sessions & cookies
baabtra.com - No. 1 supplier of quality freshers
 
Php database connectivity
Php database connectivityPhp database connectivity
Php database connectivity
baabtra.com - No. 1 supplier of quality freshers
 
Chapter 6 database normalisation
Chapter 6  database normalisationChapter 6  database normalisation
Chapter 6 database normalisation
baabtra.com - No. 1 supplier of quality freshers
 
Chapter 5 transactions and dcl statements
Chapter 5  transactions and dcl statementsChapter 5  transactions and dcl statements
Chapter 5 transactions and dcl statements
baabtra.com - No. 1 supplier of quality freshers
 
Chapter 2 grouping,scalar and aggergate functions,joins inner join,outer join
Chapter 2  grouping,scalar and aggergate functions,joins   inner join,outer joinChapter 2  grouping,scalar and aggergate functions,joins   inner join,outer join
Chapter 2 grouping,scalar and aggergate functions,joins inner join,outer join
baabtra.com - No. 1 supplier of quality freshers
 
Chapter 1 introduction to sql server
Chapter 1 introduction to sql serverChapter 1 introduction to sql server
Chapter 1 introduction to sql server
baabtra.com - No. 1 supplier of quality freshers
 
Microsoft holo lens
Microsoft holo lensMicrosoft holo lens
Microsoft holo lens
baabtra.com - No. 1 supplier of quality freshers
 
Blue brain
Blue brainBlue brain
Blue brain
baabtra.com - No. 1 supplier of quality freshers
 
5g
5g5g
5g
baabtra.com - No. 1 supplier of quality freshers
 
Aptitude skills baabtra
Aptitude skills baabtraAptitude skills baabtra
Aptitude skills baabtra
baabtra.com - No. 1 supplier of quality freshers
 
Gd baabtra
Gd baabtraGd baabtra
Gd baabtra
baabtra.com - No. 1 supplier of quality freshers
 
Baabtra soft skills
Baabtra soft skillsBaabtra soft skills
Baabtra soft skills
baabtra.com - No. 1 supplier of quality freshers
 
Cell phone jammer
Cell phone jammerCell phone jammer
Cell phone jammer
baabtra.com - No. 1 supplier of quality freshers
 
Apple iwatches
Apple iwatchesApple iwatches
Apple iwatches
baabtra.com - No. 1 supplier of quality freshers
 

Recently uploaded (20)

AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 

Chapter 3 stored procedures

  • 1. Introduction To DBMS and SQL Server Stored Procedures
  • 2. Stored Procedures • A stored procedure is a method to encapsulate repetitive tasks. • A stored Procedure is actually stored in database data dictionary
  • 3. Without Stored Procedure Employee.jsp ...................... Select * from tbl_employee ................ Report.php .......................... Select * from tbl_employee ................. ..................... Select * from tbl_employee viewDetails.php .......................... ......................... Select * from tbl_employee ............... Database
  • 5. Advantages • Precompiled Execution •sqlserver compiles each stored procedure once and then re utilizes the execution plan. This result in tremendous performance boosts when stored procedures are called repeatedly • Reduced client server traffic •If network traffic is concerned you will be happy to learn that stored procedures can reduce long sql queries to a single line that is transmitted between application program and database server.
  • 6. Advantages • Efficient reuse of code and programming abstraction •Stored procedures can be used by multiple programs and users. If you utilize them in a planned manner, you’ll find the development cycle takes less time. • Enhanced Security Control •You can grant users permission to execute stored procedure independently of underlying table permissions
  • 7. How to create Stored Procedure ? example CREATE PROCEDURE getName(@id int) as BEGIN Select * from tbl_user where userid=@id; END EXEC getName @id=1 ;
  • 8. How to create Stored Procedure ? example CREATE PROCEDURE getName(@id int) BEGIN Select * from tbl_user where userid=@id; END EXEC getName @id=1; Is the keyword to create a new stored procedure .we can use proc also
  • 9. How to create Stored Procedure ? example CREATE PROCEDURE getName(@id int) BEGIN Select * from tbl_user where userid=@id; END EXEC getName @id=1 Is the name of the stored procedure that we are creating
  • 10. How to create Stored Procedure ? example CREATE PROCEDURE getName ( @id int) BEGIN Select * from tbl_user where userid=@id; END Call getName @id=1; Is the body of the stored procedure. Here we have only a single select query statements. We can also apply logic using the below • DECLARE a INT; : declaring an integer type variable • SET a=20; : Setting value of a to 20 • IF THEN • ELSE IF label1: LOOP SET p1 = p1 + 1; IF p1 < 10 THEN ITERATE label1; END IF; LEAVE label1; END LOOP label1; : For conditions : Loops
  • 11. How to create Stored Procedure ? example CREATE PROCEDURE getName ( @id int) BEGIN Select * from tbl_user where userid=@id; END exec getName=@id=1;
  • 12. How to create Stored Procedure ? example CREATE PROCEDURE getName ( @id int) BEGIN Select * from tbl_user where userid=@id; END exec getName @id=1; Calling the stored procedure we’ve just created and passing the value 1001 as its argument
  • 13. How to create Stored Procedure ? example CREATE PROCEDURE getSale1(@id int,@pri int output ,@sal int output) as BEGIN Select @pri=sum(price), @sal=avg(sales) from tbl_sales where pk_int_id=@id; END declare @total int declare @sale int exec getSale1 @id=1,@pri=@total output,@sal=@sale output; select @total; select @sale;
  • 14. • Create the below table Create a stored procedure called – csp_getSalary(1000) : should return the salary of employee with id as passed in the argument – Csp_getSalaryAtPlace(‘calicut’,@total) : should return the total salary of employees from a perticular place Live Task Tbl_employee Emp_id Emp_name Emp_age Emp_email int_salary vchr_place 1000 Deepak 24 [email protected] 10000 Calicut 1001 Aneesh 23 [email protected] 20000 Cochin 1002 Naveen 25 [email protected] 10000 Calicut 1003 Jacob 25 [email protected] 30000 Cochin
  • 15. Cursors • SELECT INTO is fine for single-row queries, but many applications require the querying of multiple rows of data. You will use a cursor in SQL Server to accomplish this. • A cursor lets you fetch one or more rows from a SQL result set into stored program variables, usually with the intention of performing some row-by-row processing on the result set.
  • 16. Cursors - example create procedure CSP_status_change as begin declare @done int; set @done=0; declare @studId int; declare @studStatus bit; declare @dateDif int; declare @myCur cursor set @myCur = cursor for select pk_int_student_id,bln_student_status, datediff(day,dat_fph_date,GETDATE())as date_difference from tbl_students join tbl_fee_payment_history on fk_int_student_id=pk_int_student_id; open @myCur
  • 17. fetch next from @myCur into @studId,@studStatus,@dateDif; while @@FETCH_STATUS = 0 begin if @dateDif>15 update tbl_students set bln_student_status=0 where pk_int_student_id=@studId; else update tbl_students set bln_student_status=1 where pk_int_student_id=@studId; fetch next from @myCur into @studId,@studStatus,@dateDif; end; close @myCur; deallocate @myCur; END; exec CSP_status_change; fetch next from @myCur
  • 18. Questions? “A good question deserve a good grade…”
  • 20. • Why should someone use stored procedure? – To avoid data redundancy – To reduce network traffic between application server and database server – To ensure data integrity Self Check !!
  • 21. • Why should someone use stored procedure? – To avoid data redundancy – To reduce network traffic between application server and database server – To ensure data integrity Self Check !!
  • 22. Self Check !! • Why should someone change the delimiter before creating a stored procedure? – To use ; as separation between multiple statements in a stored procedure body – To push the server to compile the whole body of stored procedure all together – Both of above – None of above
  • 23. Self Check !! • Why should someone change the delimiter before creating a stored procedure? – To use ; as separation between multiple statements in a stored procedure body – To push the server to compile the whole body of stored procedure all together – Both of above – None of above
  • 24. Self Check !! CREATE PROCEDURE simpleProc ( OUT param1 INT) BEGIN SELECT COUNT(*) INTO param1 FROM t ; END EXEC simpleProc(@a); Select @a ;
  • 25. Self Check !! CREATE PROCEDURE simpleProc ( @param1 INT) BEGIN SELECT COUNT(*) INTO param1 FROM t ; END exec simpleProc(@a); Select @a ;
  • 26. Self Check !! What are the uses of cursors? •For extracting multiple rows from a table •For extracting multiple rows into variables from a table •For setting handlers
  • 27. Self Check !! What are the uses of cursors? •For extracting multiple rows from a table •For extracting multiple rows into variables from a table •For setting handlers