Está en la página 1de 3

BASE DE DATOS II

TALLER 3 CORTE 2

Objetivo: Desarrollar procedimientos almacenados sobre el proyecto


manejado en el ciclo.

Sobre la base de datos trabajada (abarrotes) durante el ciclo realizar los


siguientes procedimientos almacenados:
1. Subir el cupo del cliente recibiendo como dato de entrada el
porcentaje que se le desea subir sobre el cupo actual que tiene.
(Ejemplo: Cupo: 1,000,000 Porcentaje a subir: 25% Cupo final:
1,250,000).
2. Habilitar Cliente Existente.
3. Generar una venta de un producto (El usuario indica como dato de
entra el codigo del producto, el numero de cliente al que se le vende
ademas si se va pagar a credito o contado (es decir un tercer
parametro que este en 0 o 1), el sistema tiene que generar una
factura con su detalle y si se vende a credito cargarlo al credito del
cliente).
Subir los Query en la entrega de Edmodo en un archivo SQL con el nombre
del procedimiento almacenado y llevarla a clase para su retroalimentacion y
validacion

MUCHAS SUERTE Y NOS VEMOS EN CLASE


/
*************************************************************************
******
Nombre : Inhabilitar Cliente
Descripcion : Inhabilita un cliente
Nombre de los Parmetros : _numDocCliente, _fechaFin

Tipo de los Parmetros : varchar(45),varchar(10)

Descripcion del Parmetro : Numero de documento del cliente que


se va a inhabilitar
Autor : Camilo Rojas
Fecha Creacin : 27/05/2017
Autor Modificacin :
Fecha Ultima Modificacin :
Observaciones :

*************************************************************************
*******/
DROP PROCEDURE IF EXISTS INHABILITAR_CLIENTE;
DELIMITER //
CREATE PROCEDURE INHABILITAR_CLIENTE(_numDocCliente
VARCHAR(45), _fechaFin VARCHAR(10))
BEGIN

/*Se declara variable para sacar el IDCLIENTE con el Numero de


Documento que se envia como parametro*/
DECLARE _idCliente INT DEFAULT 0;

/*se asigna el IDCLIENTE a la variable buscando por el numero de


documento que se envia como parametro*/
SET _idCliente =(SELECT IDCLIENTE
FROM CLIENTE CLI INNER JOIN PERSONA PER
ON PER.IDPERSONA = CLI.IDCLIENTE
WHERE PER.NUMDOC = _numDocCliente);

/*Se valida si el segundo parametro enviado es igual a 0 por ende


se asignara como fecha fin la del hoy*/
IF _fechaFin = 0 THEN

/*Se inhabilita el cliente con la fecha de hoy*/


UPDATE CLIENTE
SET ESTADO = 'I', F_final = curdate()
WHERE IDCLIENTE =_idCliente;

/*Si el segundo parametro no se envia en 0 si no que se envia una


fecha de formato AAAA-MM-DD se asigna la fecha para la fecha fin*/
ELSE

/*Se inhabilita el cliente*/


UPDATE CLIENTE
SET ESTADO = 'I', F_final = _fechaFin
WHERE IDCLIENTE =_idCliente;

END IF;

END
//

También podría gustarte