SQL

Tutorial SQL: Creación y uso de procedimientos almacenados

SQL procedimientos almacenados: creación. Aprende a crear y usar procedimientos almacenados en SQL con ejemplos prácticos y detallados.

Aprende SQL GRATIS y certifícate

Un procedimiento almacenado es un conjunto precompilado de instrucciones SQL que se almacenan en la base de datos. Estos procedimientos son importantes porque ayudan a aumentar la eficiencia del código SQL, mejoran la seguridad y la integridad de los datos, y también facilitan la reutilización y el mantenimiento del código.

Creación de procedimientos almacenados

La creación de un procedimiento almacenado varía de un sistema de gestión de bases de datos (DBMS) a otro. Sin embargo, la mayoría de los DBMS, como MySQL, SQL Server, PostgreSQL, siguen un patrón general. A continuación, se muestra un ejemplo genérico de cómo se podría crear un procedimiento almacenado en SQL.

CREATE PROCEDURE NombreDelProcedimiento
AS
BEGIN
   -- Instrucciones SQL
END

Ejemplo en MySQL

En MySQL, el delimitador por defecto es el punto y coma (;). Sin embargo, en un procedimiento almacenado, se debe cambiar el delimitador por defecto, ya que las instrucciones SQL dentro del procedimiento también terminan con un punto y coma.

DELIMITER //
CREATE PROCEDURE ObtenerTodosLosEmpleados()
BEGIN
  SELECT * FROM Empleados;
END //
DELIMITER ;

Ejemplo en SQL Server

En SQL Server, no es necesario cambiar el delimitador. Aquí se muestra cómo se vería el mismo procedimiento almacenado.

CREATE PROCEDURE ObtenerTodosLosEmpleados
AS
BEGIN
   SELECT * FROM Empleados;
END

Uso de procedimientos almacenados

Para usar un procedimiento almacenado, debe "llamarse" o "ejecutarse". La forma de hacerlo también varía de un DBMS a otro.

Ejemplo en MySQL

En MySQL, se usa la instrucción CALL.

CALL ObtenerTodosLosEmpleados();

Ejemplo en SQL Server

En SQL Server, puede ejecutar un procedimiento almacenado simplemente escribiendo su nombre, o también se puede usar la instrucción EXEC.

EXEC ObtenerTodosLosEmpleados;

o simplemente

ObtenerTodosLosEmpleados;

Parámetros en los procedimientos almacenados

Los procedimientos almacenados pueden tener parámetros, lo que los hace aún más flexibles. Existen diferentes tipos de parámetros: de entrada (IN), de salida (OUT) y de entrada/salida (INOUT). Estos parámetros permiten una mayor adaptabilidad y especificidad en la ejecución de los procedimientos.

Ejemplo en MySQL

DELIMITER //
CREATE PROCEDURE ObtenerEmpleadosPorDepartamento(IN id_departamento INT)
BEGIN
  SELECT * FROM Empleados WHERE DepartamentoId = id_departamento;
END //
DELIMITER ;

Luego se puede llamar a este procedimiento almacenado con un parámetro.

CALL ObtenerEmpleadosPorDepartamento(1);

Ejemplo en SQL Server

CREATE PROCEDURE ObtenerEmpleadosPorDepartamento
@id_departamento INT
AS
BEGIN
   SELECT * FROM Empleados WHERE DepartamentoId = @id_departamento;
END

Luego se puede llamar a este procedimiento almacenado con un parámetro.

EXEC ObtenerEmpleadosPorDepartamento 1;

Conclusión

Los procedimientos almacenados son fundamentales en SQL, optimizando la eficiencia, seguridad y mantenimiento del código en las bases de datos. Su adaptabilidad a distintos sistemas, como MySQL y SQL Server, demuestra su importancia y versatilidad en el desarrollo de bases de datos.

Aprende SQL GRATIS online

Ejercicios de esta lección Creación y uso de procedimientos almacenados

Evalúa tus conocimientos de esta lección Creación y uso de procedimientos almacenados con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Todas las lecciones de SQL

Accede a todas las lecciones de SQL y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Introducción A Sql

Introducción Y Entorno

Sublenguajes De Sql: Data Definition Language Y Data Manipulation Language

Introducción Y Entorno

Instalación De Mysql

Introducción Y Entorno

Instalación De Postgresql

Introducción Y Entorno

Tipos De Datos

Introducción Y Entorno

Bases De Datos Y Tablas

Introducción Y Entorno

Creación De Bases De Datos Y Tablas: Create Database, Create Table

Operaciones Básicas

Consultas Básicas De Selección: Select Y Where

Operaciones Básicas

Inserción De Datos: Insert Into

Operaciones Básicas

Actualización De Datos: Update

Operaciones Básicas

Eliminación De Datos: Delete

Operaciones Básicas

Clasificación De Resultados Con Order By

Filtros Y Clasificación

Filtrado De Valores Únicos Con Distinct

Filtros Y Clasificación

Uso De Funciones Agregadas: Count, Sum, Avg, Max, Min

Funciones Agregadas Y Agrupaciones

Agrupación De Resultados Con Group By

Funciones Agregadas Y Agrupaciones

Filtrado De Grupos De Resultados Con Having

Funciones Agregadas Y Agrupaciones

Relaciones Entre Tablas

Joins Y Subqueries

Uso De Inner Join, Left Join, Right Join, Full Join

Joins Y Subqueries

Creación Y Uso De Subqueries

Joins Y Subqueries

Alterar La Estructura De Tablas Existentes: Alter Table

Manipulación De Tablas Y Datos

Renombrar Tablas Y Bases De Datos: Rename

Manipulación De Tablas Y Datos

Vaciar Tablas Y Bases De Datos: Drop

Manipulación De Tablas Y Datos

Creación Y Uso De Funciones

Funciones Y Procedimientos Almacenados

Creación Y Uso De Procedimientos Almacenados

Funciones Y Procedimientos Almacenados

Creación Y Manejo De Usuarios Y Roles

Seguridad Y Administración De Bases De Datos Sql

Asignación Y Gestión De Permisos

Seguridad Y Administración De Bases De Datos Sql

Copias De Seguridad Y Restauración De Bases De Datos

Seguridad Y Administración De Bases De Datos Sql

Optimización De Consultas

Sintaxis Avanzada

Uso De Índices Y Particiones

Sintaxis Avanzada

Uso De Vistas

Sintaxis Avanzada

Triggers Y Eventos

Sintaxis Avanzada

Accede GRATIS a SQL y certifícate

Certificados de superación de SQL

Supera todos los ejercicios de programación del curso de SQL y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

  1. Comprender qué son los procedimientos almacenados y su importancia en el desarrollo de bases de datos.
  2. Conocer la sintaxis básica para crear procedimientos almacenados en diferentes sistemas de gestión de bases de datos, como MySQL y SQL Server.
  3. Aprender cómo ejecutar o llamar un procedimiento almacenado en SQL, utilizando la instrucción CALL en MySQL y EXEC en SQL Server.
  4. Entender el uso de parámetros en los procedimientos almacenados, incluyendo los tipos de parámetros de entrada, salida y de entrada/salida.