Ir al contenido principal

Procedimientos almacenados definidos por el usuario en SQL

Aprende a usar y aplicar los procedimientos almacenados definidos por el usuario y revisa los distintos tipos de procedimientos almacenados en SQL.
Actualizado 17 sept 2026  · 5 min leer

Explorar con IA

ChatGPTClaudePerplexity

Utilizarás Microsoft SQL Server como base de datos. El concepto que se trata en este tutorial es el mismo en la mayoría de los sistemas de gestión de bases de datos relacionales (RDBMS), aunque la sintaxis puede variar. Aun así, la idea que verás aquí te servirá para cualquier base de datos.

Un procedimiento almacenado es un bloque de sentencias SQL en un sistema RDBMS. Suele escribirlo una persona programadora, un administrador de bases de datos o un analista de datos, y se guarda para reutilizarlo en varios programas. Puede haber distintos tipos según el RDBMS. No obstante, los dos procedimientos almacenados más importantes en cualquier RDBMS son:

  • Procedimiento almacenado definido por el usuario
  • Procedimiento almacenado del sistema

Un procedimiento almacenado es código precompilado que se guarda o se mantiene en caché para su reutilización. Tener código en caché facilita mucho el mantenimiento, ya que no tienes que cambiarlo en varios sitios, y además ayuda a reforzar la seguridad.

Crear una tabla

Ahora vas a crear una tabla llamada table_Employees como sigue.

CREATE TABLE table_Employees
(
    EmployeeId INT PRIMARY KEY NOT NULL,
    EmployeeFirstName VARCHAR(25) NOT NULL,
    EmployeeLastName VARCHAR(25) NOT NULL,
    EmployeeGender VARCHAR(25) NOT NULL,
    EmployeeDepartmentID INT

)

La tabla contiene información sobre el personal de una empresa concreta y tiene las siguientes columnas:

  1. EmployeeId: clave primaria única de tipo entero; su valor puede autoincrementarse.
  2. EmployeeFirstName: nombre de la persona empleada, de tipo carácter y obligatorio.
  3. EmployeeLast Name: apellido de la persona empleada, de tipo carácter y obligatorio.
  4. EmployeeGender: género de la persona empleada, también de tipo carácter.
  5. EmployeeDepartmentId: identificador del departamento de la persona empleada, de tipo entero.

Puedes escribir una consulta para insertar valores en la tabla. El patrón para añadir valores es:

    INSERT INTO <TABLE_NAME>(<COLUMNS_OF_TABLE>) VALUES(<CORRESPONDING_VALUES_TO_MATCH_COLUMN>)

Después de insertar los valores en la tabla, ya tendrás creada table_Employees.

table_Employees

Crear un procedimiento almacenado definido por el usuario

Un procedimiento almacenado te permite escribir una consulta una vez, asignarle un nombre y guardarla para ejecutarla tantas veces como necesites. Al ejecutar las consultas, verás que se crea una carpeta en Programmability -> Stored Procedure, y dentro aparecerá el archivo dbo.uprocGetEmployees.

La sintaxis para crear un procedimiento almacenado es:

CREATE PROCEDURE <<<procedure_name>>>
AS
BEGIN

   '''Required SQL Queries'''

END

Puedes crear un procedimiento almacenado usando una de estas instrucciones SQL:

  • CREATE PROCEDURE procedure_name
  • CREATE PROC procedure_name

Además, conviene evitar la convención de nombres que empiezan por "sp_". En el ejemplo, el procedimiento almacenado se crea con el nombre: uprocGetEmployees.

Ejemplo de procedimiento almacenado

Ejecutar el procedimiento almacenado

Para ejecutar un procedimiento almacenado, puedes usar cualquiera de estas tres formas y ejecutarlo así:

  • EXEC <>
  • EXECUTE <>
  • <>

En el programa anterior, puedes usar el nombre del procedimiento uprocGetEmployees y seleccionarlo para ejecutar la consulta.

Procedimiento almacenado con parámetros

Un procedimiento almacenado puede aceptar uno o varios parámetros. Si entiendes cómo funcionan varios parámetros, te resultará sencillo entender el caso de un único parámetro.

La sintaxis para crear un procedimiento almacenado con múltiples parámetros es:

CREATE PROCEDURE <<procedure_name>> <<procedure_parameter>>
AS
    BEGIN
            <<sql_query>>
    END

En el ejemplo, se observa un cambio en la carpeta:
EMPLOYEE -> Programmability -> Stored Procedures -> dbo.uprocGetEmployessGenderAndDepartment

Procedimientos almacenados con múltiples parámetros

La idea es muy similar a la de una función en lenguajes de programación como Python o Java. El programa anterior define la función o procedimiento llamado "uprocGetEmployeesGenderAndDepartment", que recibe los parámetros @EmployeeGender y @EmployeeDepartmentId. Estos se "invocan" pasando los valores necesarios a nuestro procedimiento, lo cual puede hacerse de dos formas, como se explica a continuación.

Los parámetros en este programa son @EmployeeGender y @EmployeeDepartmentId, a los que se les pasa un valor al ejecutar el procedimiento.

El valor puede especificarse de dos maneras. Puedes usar cualquiera de ellas para ejecutar el procedimiento almacenado con múltiples parámetros.

  • Especificando los nombres de los parámetros en la consulta y pasando los valores correspondientes:

Especificar valor 1

  • Por posición, haciendo coincidir el orden de los parámetros del procedimiento almacenado con tu consulta y pasando los valores necesarios:

Especificar valor 2

Modificar el procedimiento almacenado

También puedes modificar un procedimiento almacenado usando el comando ALTER PROCEDURE.

    ALTER PROCEDURE uprocGetEmployeesGenderAndDepartment
@EmployeeGender nvarchar(25),
@EmployeeDepartmentId int
BEGIN
    SELECT EmployeeFirstName,EmployeeGender,EmployeeDepartmentId FROM table_Employees WHERE
    EmployeeGender = @EmployeeGender AND EmployeeDepartmentId = @EmployeeDepartmentId
END

Eliminar un procedimiento almacenado

Los procedimientos almacenados se pueden eliminar rápidamente con los siguientes comandos:

DROP PROC <> DROP PROCEDURE <>

Añadir seguridad mediante cifrado

El icono de candado que ves a la izquierda en la imagen siguiente indica que el procedimiento almacenado está cifrado, por lo que solo las personas autorizadas pueden acceder a él.

procedimiento almacenado cifrado

Conclusión

Acabas de aprender los aspectos básicos de los procedimientos almacenados definidos por el usuario. Los conceptos tratados son aplicables a cualquier RDBMS. Puedes seguir aprendiendo en DataCamp con el curso Intermediate SQL Server. Además, este tutorial de Stored Procedures te será de gran ayuda.

Temas
SQL

Cursos de SQL

Curso

Manipulación de datos en SQL

4 h
335K
Domina las consultas SQL para responder a preguntas de ciencia de datos y prepara conjuntos de datos para analizarlos en PostgreSQL.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

Introducción a los disparadores SQL: Guía para desarrolladores

Aprende a utilizar los disparadores SQL para automatizar tareas, mantener la integridad de los datos y mejorar el rendimiento de la base de datos. Prueba ejemplos prácticos como los comandos CREATE, ALTER y DROP en MySQL y Oracle.
Oluseye Jeremiah's photo

Oluseye Jeremiah

13 min

Tutorial

Ejemplos y tutoriales de consultas SQL

Si quiere iniciarse en SQL, nosotros le ayudamos. En este tutorial de SQL, le presentaremos las consultas SQL, una potente herramienta que nos permite trabajar con los datos almacenados en una base de datos. Verá cómo escribir consultas SQL, aprenderá sobre
Sejal Jaiswal's photo

Sejal Jaiswal

15 min

Tutorial

Seleccionar varias columnas en SQL

Aprende a seleccionar fácilmente varias columnas de una tabla de base de datos en SQL, o a seleccionar todas las columnas de una tabla en una simple consulta.
DataCamp Team's photo

DataCamp Team

3 min

SQLAlchemy_Tutorial.

Tutorial

Tutorial de SQLAlchemy con ejemplos

Aprende a acceder y ejecutar consultas SQL en todo tipo de bases de datos relacionales utilizando objetos Python.
Abid Ali Awan's photo

Abid Ali Awan

13 min

Tutorial

Cómo utilizar un alias SQL para simplificar tus consultas

Explora cómo el uso de un alias SQL simplifica tanto los nombres de las columnas como los de las tablas. Aprende por qué utilizar un alias SQL es clave para mejorar la legibilidad y gestionar uniones complejas.
Allan Ouko's photo

Allan Ouko

9 min

Tutorial

Base de datos Azure SQL: Configuración y gestión paso a paso

Aprende a crear, conectar, gestionar, consultar y proteger tu base de datos Azure SQL. Esta guía paso a paso cubre todo lo esencial para una configuración óptima de la base de datos.
Anneleen Rummens's photo

Anneleen Rummens

12 min

Ver MásVer Más