Saturday 16 May 2015

Stored Procedures in SQL server


In this post I  explained about what is stored procedure and what are the advantages and disadvantages of stored procedures in sql server

What is stored procedure:-

A stored procedure is a group of sql statements that has been created and stored in the database. Stored procedure will accept input parameters so that a single procedure can be used over the network by several clients using different input data. Stored procedure will reduce network traffic and increase the performance. If we modify stored procedure all the clients will get the updated stored procedure

First create user table  :-

CREATE TABLE [dbo].[tblUSER](
      [USR_ID] [int] IDENTITY(1,1) NOT NULL,
      [USR_NAME] [nvarchar](50) NULL,
      [USR_LOGIN] [varchar](100) NOT NULL,
      [USR_PASSWORD] [varchar](25) NOT NULL,
      [DESIGNATION] [varchar](50) NULL,
      [USR_ROLEID] [int] NULL,
      [CREATED_DATE] [datetime] NOT NULL,
      [EmailId] [varchar](max) NULL,
      [USR_STATUS] [varchar](50) NOT NULL,
      

 )


1. Creating a Stored Procedure to insert user details:-

/****** Object:  StoredProcedure [dbo].[sp_CreateUser]    Script Date: 05/16/2015 18:24:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_CreateUser]

       @USR_NAME varchar(MAX),
       @USR_LOGIN varchar(100),
       @USR_PASSWORD varchar(25),
       @DESIGNATION VARCHAR(500),
       @USR_ROLEID int,
       @EmailId varchar(MAX)
AS
BEGIN
     
      SET NOCOUNT ON;
   INSERT INTO tblUSER(USR_NAME ,
                       USR_LOGIN,
                       USR_PASSWORD,
                       USR_ROLEID,
                       CREATED_DATE ,
                       EmailId,
                       USR_STATUS ,
                       DESIGNATION)
          VALUES (@USR_NAME ,
                  @USR_LOGIN ,
                  @USR_PASSWORD ,
                  @USR_ROLEID ,
                  getdate() ,
                  @EmailId ,
                  'ACTIVE',
                  @DESIGNATION)

END

2. Creating a stored procedure to select user details:-

Create PROCEDURE [dbo].[sp_SelectUser]
AS
BEGIN
     
   Select USR_NAME ,
              USR_LOGIN,
              USR_PASSWORD,
              USR_ROLEID,
              CREATED_DATE ,
              EmailId,
              DESIGNATION
   from tblUSER
END

Advantages of using stored procedures

1. Stored Procedure is precomplied code so its allows faster execution.If the operation requires a large amount of SQL code is performed repetitively, stored procedures can be faster. They are parsed and optimized when they are first executed, and a compiled version of the stored procedure remains in memory cache for later use. This means the stored procedure does not need to be reparsed and reoptimized with each use resulting in much faster execution times.

2. Stored procedure allows modular programming.  You can create the procedure once, store it in the database, and call it any number of times in your program.

3. Stored procedures provide better security to your data Users can be granted permission to execute a  stored procedure even if they do not have permission to execute the procedure's statements                  directly.

4.  Stored Procedure can reduce network traffic. An operation requiring hundreds of lines of Transact-SQL code can be performed through a single statement that executes the code in a procedure, rather than by sending hundreds of lines of code over the network.

In SQL we are having different types of stored procedures are there

a)    System Stored Procedures
b)    User Defined Stored procedures
c)    Extended Stored Procedures

System Stored Procedures:

System stored procedures are stored in the master database and these are starts with a sp_ prefix. These procedures can be used to perform variety of tasks to support sql server functions for external application calls in the system tables

Ex:
exec sp_helptext [StoredProcedure_Name]

User Defined Stored Procedures:

User Defined stored procedures are usually stored in a user database and are typically designed to complete the tasks in the user database. While coding these procedures don’t use sp_ prefix because if we use the sp_ prefix first it will check master database then it comes to user defined database

Extended Stored Procedures:

Extended stored procedures are the procedures that call functions from DLL files. Now a day’s extended stored procedures are depreciated for that reason it would be better to avoid using of Extended Stored procedures.


In the above article I try to explain system defined as well as user defined Stored Procedures in SQl with example. I hope its useful to you. Please post your feedback, question, or comments about this article.

No comments:

Post a Comment