text: -- Companía:  Scooters Anywhere
  -- Project:   Modelo Proyecto Final
  -- Author:    Garrido Samuel y Jorge Cárdenas
  -- Fecha:     04 de Junio del 2020
  
  SET SERVEROUTPUT ON
  SET LINESIZE 200
  WHENEVER SQLERROR EXIT ROLLBACK
  
  DECLARE
    V_STATUS_V NUMBER:=0;
    V_STATUS_R NUMBER:=0;
    V_STATUS_B NUMBER:=0;
  BEGIN
    --TRIGGER PARA VIAJE
    INSERT INTO SERVICIO VALUES(6020, 371, 10, TO_DATE('22/06/2020 09:34:12','dd/mm/yyyy hh24:mi:ss'), TO_DATE('22/06/2020 14:08:37','dd/mm/yyyy hh24:mi:ss'), 'V');
    INSERT INTO SERVICIO_VIAJE VALUES (6020,'SC-FGRTC123CS',288);
    SELECT STATUS_ID INTO V_STATUS_V FROM SCOOTER WHERE SCOOTER_ID = 288;
    IF V_STATUS_V = 3 THEN
      DBMS_OUTPUT.PUT_LINE('PRUEBA 1: INICIAR SER_VIAJE CON SCOOTER DISPONIBLE Y CAMBIAR STATUS A SERV VIAJE -> OK!');
    ELSE
      RAISE_APPLICATION_ERROR(-20112, 'ERROR EN EL TRIGGER');
    END IF;
  
  
    INSERT INTO SERVICIO VALUES(6009, 371, 10, TO_DATE('22/06/2020 09:37:12','dd/mm/yyyy hh24:mi:ss'), TO_DATE('25/06/2020 10:38:37','dd/mm/yyyy hh24:mi:ss'), 'R');
    INSERT INTO SERVICIO_RENTA VALUES (6009,'AV. JALAPA NACAJUCA',3,305);
  
    SELECT STATUS_ID INTO V_STATUS_V FROM SCOOTER WHERE SCOOTER_ID = 305;
    IF V_STATUS_V = 6 THEN
      DBMS_OUTPUT.PUT_LINE('PRUEBA 2: INICIAR SERVICIO_RENTA CON SCOOTER DISPONIBLE Y CAMBIAR STATUS A EN SERV RENTA -> OK!');
    ELSE
      RAISE_APPLICATION_ERROR(-20112, 'ERROR EN EL TRIGGER');
    END IF;
  
  
    INSERT INTO SERVICIO VALUES(6012, 371, 1000, TO_DATE('23/06/2020 09:37:12','dd/mm/yyyy hh24:mi:ss'), TO_DATE('26/06/2020 10:38:37','dd/mm/yyyy hh24:mi:ss'), 'B');
    INSERT INTO SERVICIO_RECARGA VALUES (6012,'BBVA BANCOMER',102938475684930157);
  
    INSERT INTO RECARGA_SCOOTER VALUES (6012,322,90);
    INSERT INTO RECARGA_SCOOTER VALUES (6012,333,100);
    INSERT INTO RECARGA_SCOOTER VALUES (6012,346,85);
  
    SELECT STATUS_ID INTO V_STATUS_V FROM SCOOTER WHERE SCOOTER_ID = 333;
    IF V_STATUS_V = 7 THEN
      DBMS_OUTPUT.PUT_LINE('PRUEBA 3: INICIAR RECARGA CON SCOOTERS DISPONIBLES Y CAMBIAR STATUS A EN SERV RENTA -> OK!');
    ELSE
      RAISE_APPLICATION_ERROR(-20112, 'ERROR EN EL TRIGGER');
    END IF;
  
    --TRIGGER PARA ROMPER
  
    INSERT INTO SERVICIO VALUES(6007, 371, 10, TO_DATE('23/06/2020 08:35:12','dd/mm/yyyy hh24:mi:ss'), TO_DATE('23/06/2020 11:11:37','dd/mm/yyyy hh24:mi:ss'), 'V');
    INSERT INTO SERVICIO_VIAJE VALUES (6007,'SC-FGRTC123CS',271);
  
  EXCEPTION
    WHEN OTHERS THEN
      IF SQLCODE = -20102 THEN
        DBMS_OUTPUT.PUT_LINE('PRUEBA 4: ERROR: INSERTAR UN NUEVO SERVICIO VIAJE CON SCOOTER NO DISPONIBLE -> OK!');
      ELSE
        RAISE;
      END IF;
  END;
  /
  
  BEGIN
    INSERT INTO SERVICIO VALUES(6011, 371, 10, TO_DATE('21/06/2020 09:45:15','dd/mm/yyyy hh24:mi:ss'), TO_DATE('23/06/2020 11:11:37','dd/mm/yyyy hh24:mi:ss'), 'R');
    INSERT INTO SERVICIO_RENTA VALUES (5011,'AV. NACAJUCA JALAPA',2,273);
  EXCEPTION
    WHEN OTHERS THEN
      IF SQLCODE = -20103 THEN
        DBMS_OUTPUT.PUT_LINE('PRUEBA 5: ERROR: INSERTAR UN NUEVO SERVICIO RENTA CON SCOOTER NO DISPONIBLE -> OK!');
      ELSE
        RAISE;
      END IF;
  END;
  /
  
  BEGIN
    INSERT INTO SERVICIO VALUES(6029, 371, 200, TO_DATE('21/06/2020 09:37:12','dd/mm/yyyy hh24:mi:ss'), TO_DATE('28/06/2020 10:38:37','dd/mm/yyyy hh24:mi:ss'), 'B');
    INSERT INTO SERVICIO_RECARGA VALUES (6029,'BBVA BANCOMER',102934900076430157);
    INSERT INTO RECARGA_SCOOTER VALUES (6029,365,90);
    INSERT INTO RECARGA_SCOOTER VALUES (6029,366,100);
    INSERT INTO RECARGA_SCOOTER VALUES (6029,367,85);
  EXCEPTION
    WHEN OTHERS THEN
      IF SQLCODE = -20104 THEN
        DBMS_OUTPUT.PUT_LINE('PRUEBA 6: ERROR: INSERTAR UN NUEVO SERVICIO RECARGA CON SCOOTER NO DISPONIBLE -> OK!');
        DBMS_OUTPUT.PUT_LINE('VALIDACION DEL TRIGGER CONCLUIDA -> OK!');
      ELSE
        RAISE;
      END IF;
  END;
  /
  
  
  
  ROLLBACK;
  SET SERVEROUTPUT OFF
  WHENEVER SQLERROR CONTINUE