Unlock the Power of Reusability: Stored Procedures in SQL
What Are Stored Procedures?
Imagine having a set of instructions that can be reused multiple times, saving you time and effort. That’s what stored procedures are in SQL. A stored procedure is a collection of statements that perform specific actions, allowing you to reuse frequently used statements. Similar to functions in programming, they can execute predefined operations when called.
Crafting a Procedure
To create a stored procedure, you’ll need to use the CREATE PROCEDURE
command, followed by the SQL commands that define the procedure. Let’s take a look at an example:
SQL Server, PostgreSQL, MySQL, and Oracle: A Unified Approach
The following commands create a stored procedure named us_customers
in various database management systems (DBMS):
- SQL Server:
CREATE PROCEDURE us_customers AS SELECT customer_id, first_name FROM Customers WHERE country = 'USA';
- PostgreSQL:
CREATE OR REPLACE FUNCTION us_customers() RETURNS TABLE(customer_id integer, first_name text) AS $$ SELECT customer_id, first_name FROM Customers WHERE country = 'USA';$$ LANGUAGE plpgsql;
- MySQL:
DELIMITER // CREATE PROCEDURE us_customers() BEGIN SELECT customer_id, first_name FROM Customers WHERE country = 'USA'; END// DELIMITER ;
- Oracle:
CREATE OR REPLACE PROCEDURE us_customers AS BEGIN SELECT customer_id, first_name FROM Customers WHERE country = 'USA'; END us_customers;
This procedure retrieves the customer_id
and first_name
columns of customers residing in the USA from the Customers
table.
Putting Procedures into Action
Now that we’ve created the us_customers
procedure, we can execute it whenever we need to fetch all customers from the USA. Simply call the procedure, and it will perform the predefined operation.
Erasing a Procedure
When a stored procedure is no longer needed, you can delete it using the DROP PROCEDURE
command. Here’s how:
- SQL Server:
DROP PROCEDURE us_customers;
- PostgreSQL:
DROP FUNCTION us_customers();
- MySQL:
DROP PROCEDURE us_customers;
- Oracle:
DROP PROCEDURE us_customers;
By executing these commands, we can remove the us_customers
procedure from our database.
Take Your SQL Skills to the Next Level
Want to learn more about parameterized procedures? Dive deeper into the world of SQL and discover the power of reusable code.