Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SET SERVEROUTPUT ON
- CREATE OR REPLACE PROCEDURE actualizaPorcentaje
- AS
- v_cod_tipCliente1 tipo_cliente.cod_tipoclien%TYPE;
- v_cod_tipCliente2 tipo_cliente.cod_tipoclien%TYPE;
- v_cod_tipCliente3 tipo_cliente.cod_tipoclien%TYPE;
- BEGIN
- v_cod_tipcliente1 := 1;
- v_cod_tipcliente2 := 2;
- v_cod_tipcliente3 := 3;
- FOR r_employees IN
- (SELECT COD_TIPOCLIEN, DESCRIPCION, OFERTA
- FROM TIPO_CLIENTE WHERE COD_TIPOCLIEN IN (v_cod_tipcliente1, v_cod_tipcliente2, v_cod_tipcliente3))
- LOOP
- IF (r_employees.COD_TIPOCLIEN = 1) THEN
- DBMS_OUTPUT.put_line('Actualiza el descuento del 10%');
- UPDATE TIPO_CLIENTE SET oferta = 10 WHERE COD_TIPOCLIEN = v_cod_tipCliente1;
- ELSIF(r_employees.COD_TIPOCLIEN = 2) THEN
- DBMS_OUTPUT.put_line('Actualiza el descuento del 25%');
- UPDATE TIPO_CLIENTE SET oferta = 25 WHERE COD_TIPOCLIEN = v_cod_tipCliente2;
- ELSE
- DBMS_OUTPUT.put_line('No recibe actualizacion de descuento');
- UPDATE TIPO_CLIENTE SET oferta = 0 WHERE COD_TIPOCLIEN = v_cod_tipCliente3;
- END IF;
- END LOOP;
- COMMIT;
- END actualizaPorcentaje;
- EXECUTE actualizaPorcentaje();
- SET serveroutput ON
- CREATE OR REPLACE PROCEDURE frecdiariaclientes
- AS
- CURSOR c_cliente IS
- SELECT COUNT(C.COD_CLIENTE) AS cant, T.DESCRIPCION
- FROM TIPO_CLIENTE T join Cliente C
- ON T.COD_TIPOCLIEN = C.COD_TIPOCLIEN
- join Reserva R
- ON R.cod_cliente = C.cod_cliente
- WHERE (EXTRACT(MONTH FROM SYSDATE) = EXTRACT(MONTH FROM R.FECHA) AND EXTRACT(DAY FROM SYSDATE) = EXTRACT(DAY FROM R.FECHA))
- GROUP BY T.DESCRIPCION;
- r_cliente c_cliente%ROWTYPE;
- BEGIN
- OPEN c_cliente;
- FETCH c_cliente INTO r_cliente;
- WHILE (c_cliente%FOUND)
- LOOP
- EXIT WHEN c_cliente%NOTFOUND;
- DBMS_OUTPUT.put_line ('Cantidad diaria: ' || r_cliente.cant || ' Del tipo de cliente: '|| r_cliente.DESCRIPCION);
- FETCH c_cliente INTO r_cliente;
- END LOOP;
- CLOSE c_cliente;
- END frecdiariaclientes;
- EXECUTE frecdiariaclientes();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement