SlideShare ist ein Scribd-Unternehmen logo
1 von 28
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

Weitere ähnliche Inhalte

Was ist angesagt? (20)

ORACLE PL/SQL
ORACLE PL/SQLORACLE PL/SQL
ORACLE PL/SQL
 
Oracle Database Trigger
Oracle Database TriggerOracle Database Trigger
Oracle Database Trigger
 
Introduction to triggers
Introduction to triggersIntroduction to triggers
Introduction to triggers
 
Data Dictionary
Data DictionaryData Dictionary
Data Dictionary
 
Stored procedure in sql server
Stored procedure in sql serverStored procedure in sql server
Stored procedure in sql server
 
pl/sql Procedure
pl/sql Procedurepl/sql Procedure
pl/sql Procedure
 
trigger dbms
trigger dbmstrigger dbms
trigger dbms
 
Oracle SQL Basics
Oracle SQL BasicsOracle SQL Basics
Oracle SQL Basics
 
SQL Views
SQL ViewsSQL Views
SQL Views
 
MySql Triggers Tutorial - The Webs Academy
MySql Triggers Tutorial - The Webs AcademyMySql Triggers Tutorial - The Webs Academy
MySql Triggers Tutorial - The Webs Academy
 
SQL Joins and Query Optimization
SQL Joins and Query OptimizationSQL Joins and Query Optimization
SQL Joins and Query Optimization
 
Joins in SQL
Joins in SQLJoins in SQL
Joins in SQL
 
Procedures and triggers in SQL
Procedures and triggers in SQLProcedures and triggers in SQL
Procedures and triggers in SQL
 
Sql commands
Sql commandsSql commands
Sql commands
 
Database Triggers
Database TriggersDatabase Triggers
Database Triggers
 
SQL - Structured query language introduction
SQL - Structured query language introductionSQL - Structured query language introduction
SQL - Structured query language introduction
 
Packages in PL/SQL
Packages in PL/SQLPackages in PL/SQL
Packages in PL/SQL
 
Sql server T-sql basics ppt-3
Sql server T-sql basics  ppt-3Sql server T-sql basics  ppt-3
Sql server T-sql basics ppt-3
 
MySQL JOINS
MySQL JOINSMySQL JOINS
MySQL JOINS
 
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
 

Andere mochten auch (6)

Delay analysis final
Delay analysis finalDelay analysis final
Delay analysis final
 
Chapter 4 functions, views, indexing
Chapter 4  functions, views, indexingChapter 4  functions, views, indexing
Chapter 4 functions, views, indexing
 
Sql Functions And Procedures
Sql Functions And ProceduresSql Functions And Procedures
Sql Functions And Procedures
 
Sql Server 2012
Sql Server 2012Sql Server 2012
Sql Server 2012
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
 
OLAP
OLAPOLAP
OLAP
 

Ähnlich wie Chapter 3 stored procedures

Sql storeprocedure
Sql storeprocedureSql storeprocedure
Sql storeprocedureftz 420
 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAmin Uddin
 
Stored procedure Notes By Durgesh Singh
Stored procedure Notes By Durgesh SinghStored procedure Notes By Durgesh Singh
Stored procedure Notes By Durgesh Singhimdurgesh
 
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 ServerdevObjective
 
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 JDBCOUM SAOKOSAL
 
My Database Skills Killed the Server
My Database Skills Killed the ServerMy Database Skills Killed the Server
My Database Skills Killed the ServerColdFusionConference
 
Stored procedures by thanveer danish melayi
Stored procedures by thanveer danish melayiStored procedures by thanveer danish melayi
Stored procedures by thanveer danish melayiMuhammed Thanveer M
 
Jdbc oracle
Jdbc oracleJdbc oracle
Jdbc oracleyazidds2
 
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 lsInSync Conference
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slidesmetsarin
 
Change tracking
Change trackingChange tracking
Change trackingSonny56
 

Ähnlich wie Chapter 3 stored procedures (20)

Introduction to mysql part 3
Introduction to mysql part 3Introduction to mysql part 3
Introduction to mysql part 3
 
Sql storeprocedure
Sql storeprocedureSql storeprocedure
Sql storeprocedure
 
Sql transacation
Sql transacationSql transacation
Sql transacation
 
Advance Sql Server Store procedure Presentation
Advance Sql Server Store procedure PresentationAdvance Sql Server Store procedure Presentation
Advance Sql Server Store procedure Presentation
 
Stored procedure Notes By Durgesh Singh
Stored procedure Notes By Durgesh SinghStored procedure Notes By Durgesh Singh
Stored procedure Notes By Durgesh Singh
 
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?
 
My SQL Skills Killed the Server
My SQL Skills Killed the ServerMy SQL Skills Killed the Server
My SQL Skills Killed the Server
 
Sql killedserver
Sql killedserverSql killedserver
Sql killedserver
 
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
 
Stored procedure,transaction
Stored procedure,transactionStored procedure,transaction
Stored procedure,transaction
 
Oracle SQL Tuning
Oracle SQL TuningOracle SQL Tuning
Oracle SQL Tuning
 
My Database Skills Killed the Server
My Database Skills Killed the ServerMy Database Skills Killed the Server
My Database Skills Killed the Server
 
Stored procedures by thanveer danish melayi
Stored procedures by thanveer danish melayiStored procedures by thanveer danish melayi
Stored procedures by thanveer danish melayi
 
Msql
Msql Msql
Msql
 
Database training for developers
Database training for developersDatabase training for developers
Database training for developers
 
Jdbc oracle
Jdbc oracleJdbc oracle
Jdbc oracle
 
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
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slides
 
Module04
Module04Module04
Module04
 
Change tracking
Change trackingChange tracking
Change tracking
 

Mehr von baabtra.com - No. 1 supplier of quality freshers

Mehr von 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
 
Best coding practices
Best coding practicesBest coding practices
Best coding practices
 
Core java - baabtra
Core java - baabtraCore java - baabtra
Core java - baabtra
 
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 programming at school
Baabtra.com programming at schoolBaabtra.com programming at school
Baabtra.com programming at school
 
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
 
Php sessions & cookies
Php sessions & cookiesPhp sessions & cookies
Php sessions & cookies
 
Php database connectivity
Php database connectivityPhp database connectivity
Php database connectivity
 
Chapter 6 database normalisation
Chapter 6  database normalisationChapter 6  database normalisation
Chapter 6 database normalisation
 
Chapter 5 transactions and dcl statements
Chapter 5  transactions and dcl statementsChapter 5  transactions and dcl statements
Chapter 5 transactions and dcl statements
 
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
 
Chapter 1 introduction to sql server
Chapter 1 introduction to sql serverChapter 1 introduction to sql server
Chapter 1 introduction to sql server
 
Chapter 1 introduction to sql server
Chapter 1 introduction to sql serverChapter 1 introduction to sql server
Chapter 1 introduction to sql server
 
Microsoft holo lens
Microsoft holo lensMicrosoft holo lens
Microsoft holo lens
 
Blue brain
Blue brainBlue brain
Blue brain
 
5g
5g5g
5g
 
Aptitude skills baabtra
Aptitude skills baabtraAptitude skills baabtra
Aptitude skills baabtra
 
Gd baabtra
Gd baabtraGd baabtra
Gd baabtra
 
Baabtra soft skills
Baabtra soft skillsBaabtra soft skills
Baabtra soft skills
 
Cell phone jammer
Cell phone jammerCell phone jammer
Cell phone jammer
 

Kürzlich hochgeladen

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

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