No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Bases de Datos con MySQL y MariaDB

Curso de Bases de Datos con MySQL y MariaDB

Carlos Eduardo Gómez García

Carlos Eduardo Gómez García

¿Qué son los Stored Procedures?

27/34
Recursos

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

STORED PROCEDURES (PROCEDIMIENTOS ALMACENADO)
Son funciones que quedan guardadas en el gestor de base de datos y se pueden invocar.
Sirve para reutilizar código pero más importante nos permite crear consultas frecuentes, Son usualmente llamados rutinas.

PREPARED STATEMENTS
En un procedimiento almacenado también podemos tener consultas preparadas. Esto nos permite tener una cadena de texto con código SQL que podremos ejecutar.

DEBERÍA APLICAR ESTA LÓGICA DESDE UN LENGUAJE MEJOR?
Depende de tu equipo en la organización y de quién quiera tener el control de las consultas.

💾****¿Qué son los Stored Procedure?****

Son funciones que quedan guardadas en el gestor de base de datos y se pueden invocar.

Sirve para reutilizar código pero más importante nos permite crear consultas frecuentes, Son usualmente llamados rutinas.

DELIMITER //
CREATE PROCEDURE procedure_name(
	IN param_name TYPE, -- pasar parametros a la función
	OUT param_name TYPE -- cambiar valor del parametro, reescribir valor
)
BEGIN
	-- SQL code
END //
DELIMITER;

💾Prepared Statements

En un procedimiento almacenado también podemos tener consultas preparadas. Esto nos permite tener una cadena de texto con código SQL que podremos ejecutar.

una de las caracteristicas mas importantes de los stored procedures es que otorgan una capa extra de proteccion a tu sistema, de que forma?
imagina que un atacante logra vulnerar tu seguridad y tiene acceso al codigo de tu sistema, entonces podria acceder a esos fragmentos de codigo donde ejecutas querys y tendria infomacion privilegiada sobre la estructura de tu bd, nombre de las tablas y nombre de las columnas
al invocar un stored procedure en el back solo es necesario indicar el nombre del procedure y sus parametros de modo que solo esa informacion es la que tendria el atacante y no informacion sensible de la estructura de tus datos

Me parece que los Stored Procedures son más elegantes, ya que desde el lado del servidor, solo se llama a una función en lugar de llamar a un query que puede ser muy grande. Aunque el nombre del Stored Procedure debe ser semántico para que haya buen entendimiento de la información que se esta consiguiendo desde la BD

Mediante ORM se mapean las tablas de la base de datos para realizar CRUD, consultas, etc desde el lenguaje de programación (C#, Java, Pyhon, otros), así evitamos atar el sistema que estamos desarrollando a un único motor de base de datos, al menos esa es la tendencia actual usar ORM.
Los famosos SP, aquí en donde trabajo de backend se habla mucho de ellos