CREANDO PROCEDIMIENTOS ALMACENADOS EN MYSQL


Los procedimientos almacenados son un conjunto de instrucciones que permiten gestionar de la mejor manera la carga de trabajo entrante y saliente en un entorno donde varios programas solicitan el acceso a los datos y su almacenamiento dependerá del tipo de gestor de bases de datos que estemos usando.
También varía la sintaxis al crear un procedimiento almacenado, pero en el caso de MYSQL se realiza de la siguiente forma:

CREATE PROCEDURE sp_name ([parameter[,...]])
    [characteristic ...] routine_body

Ejemplo: Procedimiento Almacenado para Agregar un Cliente

CREATE PROCEDURE SP_AGREGAR_CLIENTE
(pnomcliente VARCHAR(100),
papellidopaterno VARCHAR(50),
papellidomaterno VARCHAR(50),
pdni CHAR(8), pcelular CHAR(9),
ptelefono CHAR(6),
pcorreo VARCHAR(50),
pidestado INT)

BEGIN
insert INTO cliente VALUES
(null,
pnomcliente,
papellidopaterno,
papellidopaterno,
pdni,pcelular,
ptelefono,
pcorreo,
pidestado);

END

Ejemplo: Procedimiento Almacenado para Seleccionar Clientes

CREATE PROCEDURE SP_LISTAR_CLIENTE

BEGIN 


SELECT 
c.idcliente,
c.nomcliente,
c.apellidopaterno,
c.apellidomaterno,
c.dni,
c.celular,
c.telefono,
c.correo,
e.nomestado
from cliente c
inner JOIN
estado e on e.idestado=c.idestado;


END

Ejemplo: Procedimiento Almacenado para Actualizar Cliente


CREATE PROCEDURE SP_ACTUALIZAR_CLIENTE 
(pidcliente INT, 
pnomcliente VARCHAR(100), 
papellidopaterno VARCHAR(50), 
papellidomaterno VARCHAR(50), 
pdni CHAR(8), 
pcelular CHAR(9), 
ptelefono CHAR(6), 
pcorreo VARCHAR(50), 
pidestado INT) 

BEGIN

UPDATE cliente set nomcliente=pnomcliente,apellidopaterno=papellidopaterno,apellidomaterno=papellidomaterno,dni=pdni,celular=pcelular,telefono=ptelefono,correo=pcorreo,idestado=pidestado where idcliente=pidcliente;

END

Ejemplo: Procedimiento Almacenado para Eliminar Cliente

CREATE PROCEDURE SP_ELIMINAR_CLIENTE
(pidcliente INT)

BEGIN

DELETE from cliente where idcliente=pidcliente

END

Comentarios