Vai al contenuto

P_CANCEL_SAME_LOCATION_EVENTS

Codice Sorgente

```sql PROCEDURE "P_CANCEL_SAME_LOCATION_EVENTS" (p_good_event_id number) as


-- Autore: Daniele Viti -- Data: 17/01/2020 -- Descrizione: Controlla che ci siano più eventi con la stessa locazione e data di quello in esame e li annulla


v_date date;
v_idloc number;

begin

begin
    -- Seleziono la data e la location per confrontarle dopo
    select data, id_location
    into v_date, v_idloc
    from eventi
    where id = p_good_event_id;
exception when no_data_found then
    raise_application_error(-20001, 'Impossibile trovare l''evento da confermare');
end;

for c in (
    select *
    from eventi
    where data = v_date
    and id_location = v_idloc
    and id != p_good_event_id
) loop
    -- Imposta l'evento come obsoleto (annullato)
    UPDATE EVENTI
    SET
    FLG_SUPERATO = 1,
    STATO = 900
    WHERE ID = c.id;
end loop;

end;```