SlideShare a Scribd company logo
Stored Procedure: Stored Procedure in SQL Server can be defined as the set of logical group of SQL
statements which are grouped to perform a specific task. There are many benefits of using a stored
procedure. The main benefit of using a stored procedure is that it increases the performance of the
database.The other benefits of using the Stored Procedure are given below.
Benefits of Using the Stored Procedure
1. One of the main benefits of using the Stored procedure is that it reduces the amount of information
sent to the database server. It can become a more important benefit when the bandwidth of the
network is less. Since if we send the SQL query (statement) which is executing in a loop to the server
through network and the network gets disconnected, then the execution of the SQL statement doesn't
return the expected results, if the SQL query is not used between Transaction statement and rollback
statement is not used.
2. Compilation step is required only once when the stored procedure is created. Then after it does not
require recompilation before executing unless it is modified and reutilizes the same execution plan
whereas the SQL statements need to be compiled every time whenever it is sent for execution even if
we send the same SQL statement every time.
3. It helps in re usability of the SQL code because it can be used by multiple users and by multiple
clients since we need to just call the stored procedure instead of writing the same SQL statement
every time. It helps in reducing the development time.
4. Stored procedure is helpful in enhancing the security since we can grant permission to the user for
executing the Stored procedure instead of giving permission on the tables used in the Stored
procedure.
5. Sometimes, it is useful to use the database for storing the business logic in the form of stored
procedure since it makes it secure and if any change is needed in the business logic, then we may
only need to make changes in the stored procedure and not in the files contained on the web server.
How to Write a Stored Procedure in SQL Server
Suppose there is a table called tbl_Students whose structure is given below:
CREATE TABLE tbl_Students
(
[Studentid] [int] IDENTITY(1,1) NOT NULL,
[Firstname] [nvarchar](200) NOT NULL,
[Lastname] [nvarchar](200) NULL,
[Email] [nvarchar](100) NULL
)
Support we insert the following data into the above table:
Insert into tbl_Students (Firstname, lastname, Email)
Values('Vivek', 'Johari', 'vivek@abc.com')
Insert into tbl_Students (Firstname, lastname, Email)
Values('Pankaj', 'Kumar', 'pankaj@abc.com')
Insert into tbl_Students (Firstname, lastname, Email)
Values('Amit', 'Singh', 'amit@abc.com')
Insert into tbl_Students (Firstname, lastname, Email)
Values('Manish', 'Kumar', 'manish@abc.comm')
Article by: Durgesh Kr. Singh
Software Developer(Star Group of Comp.)
Insert into tbl_Students (Firstname, lastname, Email)
Values('Abhishek', 'Singh', 'abhishek@abc.com')
Now, while writing a Stored Procedure, the first step will be to write the Create Procedure statement as
the first statement:
Create Procedure Procedure-name
(
Input parameters ,
Output Parameters (If required)
)
As
Begin
Sql statement used in the stored procedure
End
Now, suppose we need to create a Stored Procedure which will return a student name whose studentid is
given as the input parameter to the stored procedure. Then, the Stored Procedure will be:
/* Getstudentname is the name of the stored procedure*/
Create PROCEDURE Getstudentname(
@studentid INT --Input parameter , Studentid of the student
)
AS
BEGIN
SELECT Firstname+' '+Lastname FROM tbl_Students WHERE studentid=@studentid
END
We can also collect the student name in the output parameter of the Stored Procedure. For example:
/*
GetstudentnameInOutputVariable is the name of the stored procedure which
uses output variable @Studentname to collect the student name returns by the
stored procedure
*/
Create PROCEDURE GetstudentnameInOutputVariable
(
@studentid INT, --Input parameter , Studentid of the student
@studentname VARCHAR(200) OUT -- Out parameter declared with the help of OUT
keyword
)
AS
BEGIN
SELECT @studentname= Firstname+' '+Lastname FROM tbl_Students WHERE
studentid=@studentid
END
Note:-/* */ is used to write comments in one or multiple lines
-- is used to write a comment in a single line
How to Alter a Stored Procedure in a SQL Server
In SQL Server, a stored procedure can be modified with the help of the Alter keyword. Now if we want to
get student email address through the same procedure GetstudentnameInOutputVariable. So we need
to modify it by adding one more output parameter "@StudentEmail " which is shown below:
/*
Stored Procedure GetstudentnameInOutputVariable is modified to collect the
email address of the student with the help of the Alert Keyword
*/
Alter PROCEDURE GetstudentnameInOutputVariable
(
@studentid INT, --Input parameter , Studentid of the student
@studentname VARCHAR (200) OUT, -- Output parameter to collect the student name
@StudentEmail VARCHAR (200)OUT -- Output Parameter to collect the student email
)
AS
BEGIN
SELECT @studentname= Firstname+' '+Lastname,
@StudentEmail=email FROM tbl_Students WHERE studentid=@studentid
END
Note: It is not necessary that a stored procedure will have to return. There can be a case when a stored
procedure doesn't returns anything. For example, a stored procedure can be used to Insert, delete or
update a SQL statement. For example, the below stored procedure is used to insert value into the table
tbl_students.
/*
This Stored procedure is used to Insert value into the table tbl_students.
*/
Create Procedure InsertStudentrecord
(
@StudentFirstName Varchar(200),
@StudentLastName Varchar(200),
@StudentEmail Varchar(50)
)
As
Begin
Insert into tbl_Students (Firstname, lastname, Email)
Values(@StudentFirstName, @StudentLastName,@StudentEmail)
End
Execution of the Stored Procedure in SQL Server
Execution of the Stored Procedure which doesn't have an Output Parameter
A stored procedure is used in the SQL Server with the help of the "Execute" or "Exec" Keyword. For
example, if we want to execute the stored procedure "Getstudentname", then we will use the following
statement.
Execute Getstudentname 1
Exec Getstudentname 1
Execution of the Stored Procedure using the Output Parameter
If we want to execute the Stored procedure "GetstudentnameInOutputVariable" , then we first need to
declare the variable to collect the output values. For example:
Declare @Studentname as nvarchar(200) -- Declaring the variable to collect the
Studentname
Declare @Studentemail as nvarchar(50) -- Declaring the variable to collect the
Studentemail
Execute GetstudentnameInOutputVariable 1 , @Studentname output, @Studentemail output
select @Studentname,@Studentemail -- "Select" Statement is used to show the output
from Procedure ***

More Related Content

PPTX
Chapter 4 functions, views, indexing
PPTX
Procedures and triggers in SQL
PDF
Introduction to php database connectivity
PPTX
PPTX
MySql:Basics
PPTX
Database Connectivity in PHP
PPTX
Stored procedure in sql server
PDF
PHP with MySQL
Chapter 4 functions, views, indexing
Procedures and triggers in SQL
Introduction to php database connectivity
MySql:Basics
Database Connectivity in PHP
Stored procedure in sql server
PHP with MySQL

What's hot (20)

PPTX
MySql:Introduction
PPT
ADO.Net Improvements in .Net 2.0
PPT
Intro to tsql unit 6
PPTX
Change tracking
PPT
Intro to tsql
PPT
TXT
Oracle ORA Errors
PPT
Php with MYSQL Database
PPTX
Introduction to database
PDF
4.3 MySQL + PHP
PDF
spring-tutorial
PPTX
Database administration commands
PPTX
Chapter 5 transactions and dcl statements
ODP
Database Connection With Mysql
PDF
Refreshing mule cache using oracle database change notification
PDF
Datamigration
PPT
MYSQL - PHP Database Connectivity
PPTX
Sql Functions And Procedures
PPTX
MySql Triggers Tutorial - The Webs Academy
MySql:Introduction
ADO.Net Improvements in .Net 2.0
Intro to tsql unit 6
Change tracking
Intro to tsql
Oracle ORA Errors
Php with MYSQL Database
Introduction to database
4.3 MySQL + PHP
spring-tutorial
Database administration commands
Chapter 5 transactions and dcl statements
Database Connection With Mysql
Refreshing mule cache using oracle database change notification
Datamigration
MYSQL - PHP Database Connectivity
Sql Functions And Procedures
MySql Triggers Tutorial - The Webs Academy
Ad

Similar to Stored procedure Notes By Durgesh Singh (20)

PPTX
STORED-PROCEDURE.pptxjsjjdjdjcjcjdkksksksk
PPTX
PLSQL.pptxokokokoo9oooodjdjfjfjfjrjejrjrrjrj
PPTX
Sql storeprocedure
PPTX
PostgreSQL Database Slides
ODP
Msql
PPTX
Stored procedures by thanveer danish melayi
PDF
Passing java arrays in oracle stored procedure from mule esb flow
PPT
Intro to tsql unit 14
PPTX
Advance Sql Server Store procedure Presentation
ODP
SQL Tunning
ODT
Mysql
PPTX
DBMS week 2 hjghg hvgfhgf,3 BSCS 6th.pptx
PPTX
DBMS: Week 11 - Stored Procedures and Functions
PPTX
Getting Started with MySQL II
DOCX
Based on the materials for this week, create your own unique Datab.docx
DOC
Subqueries views stored procedures_triggers_transactions
PPS
Procedures/functions of rdbms
PPTX
Using triggers in my sql database
TXT
Salesforce, APEX Concepts
PPTX
Introducing ms sql_server_updated
STORED-PROCEDURE.pptxjsjjdjdjcjcjdkksksksk
PLSQL.pptxokokokoo9oooodjdjfjfjfjrjejrjrrjrj
Sql storeprocedure
PostgreSQL Database Slides
Msql
Stored procedures by thanveer danish melayi
Passing java arrays in oracle stored procedure from mule esb flow
Intro to tsql unit 14
Advance Sql Server Store procedure Presentation
SQL Tunning
Mysql
DBMS week 2 hjghg hvgfhgf,3 BSCS 6th.pptx
DBMS: Week 11 - Stored Procedures and Functions
Getting Started with MySQL II
Based on the materials for this week, create your own unique Datab.docx
Subqueries views stored procedures_triggers_transactions
Procedures/functions of rdbms
Using triggers in my sql database
Salesforce, APEX Concepts
Introducing ms sql_server_updated
Ad

More from imdurgesh (20)

PDF
Azure quick-start-for-net-developers
PDF
Sales Negotiating-for-entrepreneurs
PDF
Automated testing-whitepaper
PDF
Visual studio-2019-succinctly
PPTX
C# and .net framework
PDF
30 days-of-react-ebook-fullstackio
PDF
Linq pad succinctly
PDF
ViA Bootstrap 4
PDF
The road-to-learn-react
PDF
Public speaking for_geeks_succinctly
PDF
Google maps api_succinctly
PDF
W3 css succinctly
PDF
Aspnet core-2-succinctly
PDF
Cryptography in net_succinctly
PDF
Azure functions-succinctly
PDF
Nodejs succinctly
PDF
Angular succinctly
PDF
Reactjs succinctly
PDF
C sharp code_contracts_succinctly
PDF
Asp.net tutorial
Azure quick-start-for-net-developers
Sales Negotiating-for-entrepreneurs
Automated testing-whitepaper
Visual studio-2019-succinctly
C# and .net framework
30 days-of-react-ebook-fullstackio
Linq pad succinctly
ViA Bootstrap 4
The road-to-learn-react
Public speaking for_geeks_succinctly
Google maps api_succinctly
W3 css succinctly
Aspnet core-2-succinctly
Cryptography in net_succinctly
Azure functions-succinctly
Nodejs succinctly
Angular succinctly
Reactjs succinctly
C sharp code_contracts_succinctly
Asp.net tutorial

Recently uploaded (20)

PDF
top salesforce developer skills in 2025.pdf
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administration Chapter 2
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Digital Strategies for Manufacturing Companies
PDF
System and Network Administraation Chapter 3
PDF
medical staffing services at VALiNTRY
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
AI in Product Development-omnex systems
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PPTX
history of c programming in notes for students .pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Odoo POS Development Services by CandidRoot Solutions
top salesforce developer skills in 2025.pdf
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
ai tools demonstartion for schools and inter college
System and Network Administration Chapter 2
Navsoft: AI-Powered Business Solutions & Custom Software Development
Digital Strategies for Manufacturing Companies
System and Network Administraation Chapter 3
medical staffing services at VALiNTRY
CHAPTER 2 - PM Management and IT Context
How Creative Agencies Leverage Project Management Software.pdf
AI in Product Development-omnex systems
Design an Analysis of Algorithms II-SECS-1021-03
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
ManageIQ - Sprint 268 Review - Slide Deck
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
history of c programming in notes for students .pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Odoo POS Development Services by CandidRoot Solutions

Stored procedure Notes By Durgesh Singh

  • 1. Stored Procedure: Stored Procedure in SQL Server can be defined as the set of logical group of SQL statements which are grouped to perform a specific task. There are many benefits of using a stored procedure. The main benefit of using a stored procedure is that it increases the performance of the database.The other benefits of using the Stored Procedure are given below. Benefits of Using the Stored Procedure 1. One of the main benefits of using the Stored procedure is that it reduces the amount of information sent to the database server. It can become a more important benefit when the bandwidth of the network is less. Since if we send the SQL query (statement) which is executing in a loop to the server through network and the network gets disconnected, then the execution of the SQL statement doesn't return the expected results, if the SQL query is not used between Transaction statement and rollback statement is not used. 2. Compilation step is required only once when the stored procedure is created. Then after it does not require recompilation before executing unless it is modified and reutilizes the same execution plan whereas the SQL statements need to be compiled every time whenever it is sent for execution even if we send the same SQL statement every time. 3. It helps in re usability of the SQL code because it can be used by multiple users and by multiple clients since we need to just call the stored procedure instead of writing the same SQL statement every time. It helps in reducing the development time. 4. Stored procedure is helpful in enhancing the security since we can grant permission to the user for executing the Stored procedure instead of giving permission on the tables used in the Stored procedure. 5. Sometimes, it is useful to use the database for storing the business logic in the form of stored procedure since it makes it secure and if any change is needed in the business logic, then we may only need to make changes in the stored procedure and not in the files contained on the web server. How to Write a Stored Procedure in SQL Server Suppose there is a table called tbl_Students whose structure is given below: CREATE TABLE tbl_Students ( [Studentid] [int] IDENTITY(1,1) NOT NULL, [Firstname] [nvarchar](200) NOT NULL, [Lastname] [nvarchar](200) NULL, [Email] [nvarchar](100) NULL ) Support we insert the following data into the above table: Insert into tbl_Students (Firstname, lastname, Email) Values('Vivek', 'Johari', 'vivek@abc.com') Insert into tbl_Students (Firstname, lastname, Email) Values('Pankaj', 'Kumar', 'pankaj@abc.com') Insert into tbl_Students (Firstname, lastname, Email) Values('Amit', 'Singh', 'amit@abc.com') Insert into tbl_Students (Firstname, lastname, Email) Values('Manish', 'Kumar', 'manish@abc.comm') Article by: Durgesh Kr. Singh Software Developer(Star Group of Comp.)
  • 2. Insert into tbl_Students (Firstname, lastname, Email) Values('Abhishek', 'Singh', 'abhishek@abc.com') Now, while writing a Stored Procedure, the first step will be to write the Create Procedure statement as the first statement: Create Procedure Procedure-name ( Input parameters , Output Parameters (If required) ) As Begin Sql statement used in the stored procedure End Now, suppose we need to create a Stored Procedure which will return a student name whose studentid is given as the input parameter to the stored procedure. Then, the Stored Procedure will be: /* Getstudentname is the name of the stored procedure*/ Create PROCEDURE Getstudentname( @studentid INT --Input parameter , Studentid of the student ) AS BEGIN SELECT Firstname+' '+Lastname FROM tbl_Students WHERE studentid=@studentid END We can also collect the student name in the output parameter of the Stored Procedure. For example: /* GetstudentnameInOutputVariable is the name of the stored procedure which uses output variable @Studentname to collect the student name returns by the stored procedure */ Create PROCEDURE GetstudentnameInOutputVariable ( @studentid INT, --Input parameter , Studentid of the student @studentname VARCHAR(200) OUT -- Out parameter declared with the help of OUT keyword ) AS BEGIN SELECT @studentname= Firstname+' '+Lastname FROM tbl_Students WHERE studentid=@studentid END Note:-/* */ is used to write comments in one or multiple lines -- is used to write a comment in a single line How to Alter a Stored Procedure in a SQL Server In SQL Server, a stored procedure can be modified with the help of the Alter keyword. Now if we want to get student email address through the same procedure GetstudentnameInOutputVariable. So we need to modify it by adding one more output parameter "@StudentEmail " which is shown below:
  • 3. /* Stored Procedure GetstudentnameInOutputVariable is modified to collect the email address of the student with the help of the Alert Keyword */ Alter PROCEDURE GetstudentnameInOutputVariable ( @studentid INT, --Input parameter , Studentid of the student @studentname VARCHAR (200) OUT, -- Output parameter to collect the student name @StudentEmail VARCHAR (200)OUT -- Output Parameter to collect the student email ) AS BEGIN SELECT @studentname= Firstname+' '+Lastname, @StudentEmail=email FROM tbl_Students WHERE studentid=@studentid END Note: It is not necessary that a stored procedure will have to return. There can be a case when a stored procedure doesn't returns anything. For example, a stored procedure can be used to Insert, delete or update a SQL statement. For example, the below stored procedure is used to insert value into the table tbl_students. /* This Stored procedure is used to Insert value into the table tbl_students. */ Create Procedure InsertStudentrecord ( @StudentFirstName Varchar(200), @StudentLastName Varchar(200), @StudentEmail Varchar(50) ) As Begin Insert into tbl_Students (Firstname, lastname, Email) Values(@StudentFirstName, @StudentLastName,@StudentEmail) End Execution of the Stored Procedure in SQL Server Execution of the Stored Procedure which doesn't have an Output Parameter A stored procedure is used in the SQL Server with the help of the "Execute" or "Exec" Keyword. For example, if we want to execute the stored procedure "Getstudentname", then we will use the following statement. Execute Getstudentname 1 Exec Getstudentname 1 Execution of the Stored Procedure using the Output Parameter If we want to execute the Stored procedure "GetstudentnameInOutputVariable" , then we first need to declare the variable to collect the output values. For example: Declare @Studentname as nvarchar(200) -- Declaring the variable to collect the Studentname Declare @Studentemail as nvarchar(50) -- Declaring the variable to collect the Studentemail Execute GetstudentnameInOutputVariable 1 , @Studentname output, @Studentemail output select @Studentname,@Studentemail -- "Select" Statement is used to show the output from Procedure ***