Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE PROCEDURE precio_incremento (nombre_producto VARCHAR2) AS
- /*Declaramos variables.*/
- v_ventas NUMBER;
- v_precio_old NUMBER(5,2);
- v_precio_new NUMBER(5,2);
- BEGIN
- /*Calculo del precio inicial.*/
- SELECT precio
- INTO v_precio_old
- FROM productos
- WHERE nombre = nombre_producto;
- /*Calculamos el numero de ventas del producto.*/
- SELECT COUNT(*)
- INTO v_ventas
- FROM vender
- WHERE refproducto IN (SELECT referencia
- FROM productos
- WHERE nombre = nombre_producto);
- /*En funcion del numero de ventas que realizamos podremos aplicar un 8% o un 4%.*/
- IF (v_ventas<=100) THEN
- DBMS_OUTPUT.PUT_LINE ('+ Las ventas del producto: '||v_ventas||', no supera más de 100 unidades vendidassu precio se incrementa un 4% +');
- UPDATE productos
- SET precio = precio*1.04
- WHERE nombre = nombre_producto;
- ELSE
- DBMS_OUTPUT.PUT_LINE ('+ Las ventas del producto: '||v_ventas||', supera más de 100 unidades vendidas su precio se incrementa un 8% +');
- UPDATE productos
- SET precio=precio*1.08
- WHERE nombre = nombre_producto;
- END IF;
- /*Calculamos el precio actualizado.*/
- SELECT precio
- INTO v_precio_new
- FROM productos
- WHERE nombre = nombre_producto;
- DBMS_OUTPUT.PUT_LINE('+ El precio '||v_precio_old||' de '||nombre_producto|| ' se ha actualizado, ahora es '||v_precio_new||' +');
- END precio_incremento;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement