Skip to main content
2 of 3
deleted 7 characters in body

Insert/Update SQL Server Stored Procedure

I have to insert or update in to a table in database depending on a record. I am using stored procedure to do this.I am very new SQL server and stored procedures.Followed various articles and managed to create a stored procedure using MERGE. The table looks likes this,

bl em number title email fl name opt

null 101 00659 ABC null 01 John null

null 102 00660 DEF null 02 Rosy null

CREATE PROCEDURE [dbo].[uspInsUpd]
    @bl         char(8),
    @em         char(35),
    @number     char(12),
    @title      varchar(64),
    @email      varchar(50),
    @fl         char(4),
    @name       char(32),
    @opt        char(16),

AS

MERGE [dbo].[employee] AS [Target]
USING (SELECT @bl, @em , @number, @title, @email, @fl, @name, @opt)
   AS [Source] ( [bl], [em], [number], [title], [email], [fl], [name], [opt])  
ON [Target].[em] = [Source].[em]

WHEN MATCHED THEN
     UPDATE SET [bl]      = [Source].[bl],
                [em]      = [Source].[em],
                [number]  = [Source].[number],
                [title]   = [Source].[title],
                [email]   = [Source].[email],
                [fl]      = [Source].[fl],
                [name]    = [Source].[name],
                [opt]     = [Source].[opt],
           
WHEN NOT MATCHED THEN
     INSERT ( [bl], [number], [email], [fl], [name], [opt], [em],[title])
     VALUES ( [Source].[bl], [Source].[number], [Source].[email], [Source].[fl], [Source].[name], [Source].[opt], [Source].[em], [Source].[title]);
GO

Now I am not sure how can I test this stored procedure. Can anybody tell me if my above code is right.