SQL Server › Stored Procedures & Functions

What is a stored procedure in SQL Server, and what are the main benefits of using one?

Beginner

Answer

A stored procedure is a saved, reusable collection of SQL statements stored directly in the database, offering benefits like improved performance through plan reuse, better security since users can be granted permission to execute a procedure without direct table access, and easier maintenance since the logic lives in one central place.
CREATE PROCEDURE GetCustomerOrders
  @CustomerId INT
AS
BEGIN
  SELECT * FROM Orders WHERE CustomerId = @CustomerId;
END;

EXEC GetCustomerOrders @CustomerId = 123;
Real-world example A company creates a stored procedure to retrieve a customer's orders, letting their application call a single, secure, reusable procedure instead of embedding raw SQL queries directly throughout the application code.

Common follow-ups: How do stored procedures help improve security compared to allowing direct table access?;Can a stored procedure call other stored procedures?