Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE PROCEDURE P_MenosVendido( pPorcentajeDescuento IN L4_PROMOCIONREBAJA.PORCENTAJEDESCUENTO%TYPE, pNombreProducto OUT L4_PRODUCTO.NOMBRE %TYPE) IS
- idproductoMenosVendido NUMBER;
- iPromocion NUMBER;
- idNuevaPromocion NUMBER;
- BEGIN
- -- Producto menos vendido
- SELECT NOMBRE AS pNombreProducto INTO pNombreproducto
- FROM (
- SELECT PRO.NOMBRE, SUM( PRO.PRECIO*DET.CANTIDAD) MONTOVENDIDO
- FROM L4_DETALLEPEDIDO DET , L4_PRODUCTO PRO, L4_PEDIDO PED
- WHERE DET.IDPEDIDO = PED.IDPEDIDO AND DET.IDPRODUCTO= PRO.IDPRODUCTO
- AND TO_CHAR(PED.FECHAPEDIDO, 'MM-YYYY') = TO_CHAR(ADD_MONTHS(SYSDATE,-1),'MM-YYYY')
- GROUP BY PRO.NOMBRE
- ORDER BY 2 ASC) PRODUCTOS
- WHERE ROWNUM=1
- ;
- --Revisar si el producto si tiene promocion
- SELECT IDPRODUCTO INTO idproductoMenosVendido FROM L4_PRODUCTO WHERE NOMBRE = pNombreProducto;
- SELECT COUNT(*) INTO iPromocion
- FROM L4_PROMOCION PRO, L4_PROMOCIONREBAJA REB
- WHERE PRO.IDPROMOCION = REB.IDPROMOCION AND FECHAINICIO<SYSDATE AND FECHARETIRO>SYSDATE
- AND PRO.IDPRODUCTO = idproductoMenosVendido
- ;
- IF iPromocion =0 THEN
- --calculo id para nueva promoción en la tabla L4_PROMOCION
- SELECT MAX(IDPROMOCION) + 1 INTO idNuevaPromocion
- FROM l4_PROMOCION ;
- --Inserción de la Promoción en la table L4_PROMOCION
- INSERT INTO L4_PROMOCION VALUES ( idNuevaPromocion, idproductoMenosVendido, pNombreProducto, SYSDATE, ADD_MONTHS(SYSDATE,1));
- --calculo id para la nueva promocionrebaja en la tabla L4_PROMOCIÓN REBAJA
- INSERT INTO L4_PROMOCIONREBAJA VALUES (idNuevaPromocion,pPorcentajeDescuento );
- COMMIT;
- END IF;
- END P_MenosVendido;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement