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ícateUn 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.
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
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
- Comprender qué son los procedimientos almacenados y su importancia en el desarrollo de bases de datos.
- Conocer la sintaxis básica para crear procedimientos almacenados en diferentes sistemas de gestión de bases de datos, como MySQL y SQL Server.
- Aprender cómo ejecutar o llamar un procedimiento almacenado en SQL, utilizando la instrucción
CALL
en MySQL yEXEC
en SQL Server. - Entender el uso de parámetros en los procedimientos almacenados, incluyendo los tipos de parámetros de entrada, salida y de entrada/salida.