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
(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
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
END
(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
(pidcliente INT)
BEGIN
DELETE from cliente where idcliente=pidcliente
END
Comentarios
Publicar un comentario