Geek Slack

Getting Started with SQL Server
About Lesson


SQL Stored Procedures for SQL Server


SQL Stored Procedures for SQL Server

A stored procedure is a prepared SQL code that you can save and reuse. So if you have a SQL query that you write over and over again, save it as a stored procedure, and then just call it to execute it.

Creating a Stored Procedure

CREATE PROCEDURE procedure_name
AS
BEGIN
    -- SQL statements
END;

Example:

CREATE PROCEDURE GetAllEmployees
AS
BEGIN
    SELECT * FROM Employees;
END;

This stored procedure retrieves all records from the Employees table.

Executing a Stored Procedure

EXEC procedure_name;

Example:

EXEC GetAllEmployees;

This executes the GetAllEmployees stored procedure.

Stored Procedure with Parameters

CREATE PROCEDURE procedure_name
    @parameter_name datatype,
    @parameter_name datatype
AS
BEGIN
    -- SQL statements
END;

Example:

CREATE PROCEDURE GetEmployeeByID
    @EmployeeID INT
AS
BEGIN
    SELECT * FROM Employees WHERE EmployeeID = @EmployeeID;
END;

This stored procedure retrieves an employee by their ID.

Executing a Stored Procedure with Parameters

EXEC procedure_name @parameter1 = value1, @parameter2 = value2;

Example:

EXEC GetEmployeeByID @EmployeeID = 1;

This executes the GetEmployeeByID stored procedure with the EmployeeID parameter set to 1.

Modifying a Stored Procedure

To modify an existing stored procedure, use the ALTER PROCEDURE statement:

ALTER PROCEDURE procedure_name
AS
BEGIN
    -- New SQL statements
END;

Example:

ALTER PROCEDURE GetAllEmployees
AS
BEGIN
    SELECT EmployeeID, FirstName, LastName FROM Employees;
END;

This modifies the GetAllEmployees stored procedure to select specific columns.

Deleting a Stored Procedure

DROP PROCEDURE procedure_name;

Example:

DROP PROCEDURE GetAllEmployees;

This deletes the GetAllEmployees stored procedure.

Sample Tables

Consider the following Employees table:

Employees:
| EmployeeID | FirstName | LastName | Position       |
|------------|-----------|----------|----------------|
| 1          | John      | Doe      | Manager        |
| 2          | Jane      | Smith    | Developer      |
| 3          | Michael   | Johnson  | Sales Associate |

Important Notes

  • Stored procedures help in reducing the traffic between application and database server.
  • They also provide an extra layer of security by restricting direct access to tables.
  • Parameters in stored procedures can be used to pass and receive data.
  • Use ALTER PROCEDURE to modify an existing procedure and DROP PROCEDURE to delete it.

Join the conversation