Modifying an existing SQL Server stored procedure


By:
Overview

When you first create your stored procedures it may work as planned, but how to do you modify an existing stored procedure.  In this topic we look at the ALTER PROCEDURE command and it is used.

Explanation

Modifying or ALTERing a stored procedure is pretty simple.  Once a stored procedure has been created it is stored within one of the system tables in the database that is was created in.  When you modify a stored procedure the entry that was originally made in the system table is replaced by this new code.  Also, SQL Server will recompile the stored procedure the next time it is run, so your users are using the new logic.  The command to modify an existing stored procedure is ALTER PROCEDURE or ALTER PROC.

Modifying an Existing Stored Procedure

Let's say we have the following existing stored procedure:  This allows us to do an exact match on the City.

CREATE PROCEDURE dbo.uspGetAddress @City nvarchar(30)
AS
SELECT * 
FROM Person.Address
WHERE City = @City
GO

Let's say we want to change this to do a LIKE instead of an equals.

To change the stored procedure and save the updated code you would use the ALTER PROCEDURE command as follows.

ALTER PROCEDURE dbo.uspGetAddress @City nvarchar(30)
AS
SELECT * 
FROM Person.Address
WHERE City LIKE @City + '%'
GO

Now the next time that the stored procedure is called by an end user it will use this new logic.


Last Update: 4/1/2009




Comments For This Article




Sunday, March 3, 2019 - 7:09:19 AM - Greg Robidoux Back To Top (79182)

Hi Phlip,

take a look at this page that shows how to create a procedure with multiple parameters.

https://www.mssqltips.com/sqlservertutorial/162/how-to-create-a-sql-server-stored-procedure-with-parameters/

-Greg


Saturday, March 2, 2019 - 8:22:07 AM - Philip van Gass Back To Top (79179)

 Hi Greg.

This example is very simple. But what do you do if you want to change the procedure so as to include an extra parameter like @addressline ? 















get free sql tips
agree to terms