Sql Server – How to write a Stored procedure in Sql server

Stored Procedure:- Stored Procedure In Sql server can be defined as the set of logically group of sql statement 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 is given below:-
Benefits of using the Stored Procedure:-
1) One of the main benefit of using the Stored procedure is that it  reduces the amount of information sent to the database server. It can become 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 get disconnected then the execution of the sql statement don’t returns 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 required recompilation before executing unless it is modified and re utilizes the same execution plan whereas the sql statements needs 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 client since we needs to just call the stored procedure instead of writing the same sql statement every time. It helps in reduces 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 the permission on the tables used in the Stored procedure. 
5) Sometime it is useful to use the database for storing the business logic in the form of stored procedure since it make 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’)

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 returns 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 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 modified 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 written. It can be the case when a stored procedure doesn’t written any thing. For Example, a stored procedure can be used to Insert, delete or update a sql statement. For Example the below stored procedure is used tp 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 don’t have a 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
Summary:-
In the end we can say that a Stored procedure not only enhancing the possibility of reusing the code and execution plan,  but it also increases the performance of the database by reducing the traffic of the network by reducing the amount of information send over the network.

DMCA.com

About vivekjohari

Database Consultant with more than 11.5 years of experience in database designing & programming and DBA related activities.  Had good experience on different databases like SQL Server, MySQL & Oracle, Azure SQL &  Big Data.
This entry was posted in Most Imp SQL Concepts, SQL Server, SQL Stored Procedure and tagged , , . Bookmark the permalink.

42 Responses to Sql Server – How to write a Stored procedure in Sql server

  1. CJ Sri Lanka says:

    good post.. very helpful.. thanks

  2. realy nice and helpful..
    thanks

  3. very very useful for beginners.. simple and easy to understand.. these kinds of info means a lot to a beginner like me…

  4. thaklae says:

    Very helpul

  5. PRAMOD NAIR says:

    Thanks for this article. You have explained it very nicely. I came to know about this blog through your article in the CodeProject. You have great many articles in you blog. Expects more and more article from you.

  6. Monika Gupta says:

    Nice Post, thank you very much for sharing.

  7. Jags says:

    Very useful. Thanks for the detailed explanation.

    Keep it up Vivek

  8. Pingback: bermuda topper league 17 preto

  9. Pingback: dentist in montgomery al

  10. Pingback: agencia de viajes en managua

  11. Pingback: Italy tour

  12. Pingback: Bitcoin

  13. Pingback: speedway

  14. Pingback: island

  15. Pingback: Free SEO Report

  16. Pingback: South African News Today

  17. Pingback: Related Site

  18. Pingback: Internet Marketing

  19. Pingback: Show on FYI

  20. Pingback: Facials in Long Beach CA

  21. Pingback: Totojitu

  22. Pingback: Togelsumo

  23. Pingback: TYTPORNO - Смотреть порно

  24. Pingback: nike air max 2017

  25. Pingback: 바카라사이트

  26. Pingback: jordan 11

  27. Pingback: nike shox for women

  28. Pingback: louboutin shoes

  29. Pingback: supreme clothing

  30. Pingback: louboutin shoes

  31. Pingback: adidas yeezy

  32. Pingback: reebok chaussures sportif sneakers royal glide blanc ripple clip 10 10 sur 11

  33. Pingback: movies

  34. Pingback: separador plata pandora

  35. Trisha says:

    Nice and informative post. Thank you for sharing.

Leave a Reply