SQL Server: Procedures

procedures 

Learn how to create and drop procedures in SQL Server (Transact-SQL) with syntax and examples.

What is a procedure in SQL Server?

In SQL Server, a procedure is a stored program that you can pass parameters into. It does not return a value like a function does. However, it can return a success/failure status to the procedure that called it.

Create Procedure

You can create your own stored procedures in SQL Server (Transact-SQL). Let’s take a closer look.

Syntax

The syntax to create a stored procedure in SQL Server (Transact-SQL) is:

CREATE { PROCEDURE | PROC } [schema_name.]procedure_name
   [ @parameter [type_schema_name.] datatype 
     [ VARYING ] [ = default ] [ OUT | OUTPUT | READONLY ]
   , @parameter [type_schema_name.] datatype
     [ VARYING ] [ = default ] [ OUT | OUTPUT | READONLY ] ]

[ WITH { ENCRYPTION | RECOMPILE | EXECUTE AS Clause } ]
[ FOR REPLICATION ]

AS

BEGIN
   [declaration_section]

   executable_section

END;

schema_name

The name of the schema that owns the stored procedure.

procedure_name

The name to assign to this procedure in SQL Server.

@parameter

One or more parameters passed into the procedure.

type_schema_name

The schema that owns the data type, if applicable.

datatype

The data type for @parameter.

VARYING

It is specified for cursor parameters when the result set is an output parameter.

default

The default value to assign to @parameter.

OUT

It means that @parameter is an output parameter

OUTPUT

It means that @parameter is an output parameter.

READONLY

It means that @parameter can not be overwritten by the stored procedure.

ENCRYPTION

It means that the source for the stored procedure will not be stored as plain text in the system views in SQL Server.

RECOMPILE

It means that a query plan will not be cached for this stored procedure.

EXECUTE AS clause

It sets the security context to execute the stored procedure.

FOR REPLICATION

It means that the stored procedure is executed only during replication.

Example

Let’s look at an example of how to create a stored procedure in SQL Server (Transact-SQL).

The following is a simple example of a procedure:

CREATE PROCEDURE FindSite
  @site_name VARCHAR(50) OUT

AS

BEGIN

   DECLARE @site_id INT;

   SET @site_id = 8;

   IF @site_id < 10
      SET @site_name = 'adglob.in';
   ELSE
      SET @site_name = 'arc.com';

END;

This procedure is called FindSite. It has one parameter called @site_name which is an output parameter that gets updated based on the variable @site_id.

You could then reference the new stored procedure called FindSite as follows:

USE [test]
GO

DECLARE @site_name varchar(50);

EXEC FindSite @site_name OUT;

PRINT @site_name;

GO

Drop Procedure

Once you have created your procedure in SQL Server (Transact-SQL), you might find that you need to remove it from the database.

Syntax

The syntax to a drop a stored procedure in SQL Server (Transact-SQL) is:

DROP PROCEDURE procedure_name;

procedure_nameThe name of the stored procedure that you wish to drop.

Example

Let’s look at an example of how to drop a stored procedure in SQL Server.

For example:

DROP PROCEDURE FindSite;

This DROP PROCEDURE example would drop the stored procedure called FindSite.

This Post Has 2 Comments

Leave a Reply