Hallo zusammen,
ich habe folgendes vor und brauche Hilfe:
Dieses ist mein Trigger:
Er soll folgendes tun: Erst hole ich mir das Land eines Schiris und speichere es in einer Variable zwischen.
Danach (im zweiten SELECT darunter) hole ich mir die Länder der beiden gegeneinander antretenden Mannschaften. Ist nur eines der beiden Länder der Mannschaften identisch mit dem des Schiris, soll das insert abgebrochen werden. Das habe ich mir so vorgestellt:
Leider funktioniert das so nicht und ich bekomme immer diese Meldung:
TRIGGER Trainer_Nationalität_Check kompiliert
Warning: Ausführung mit Warnung abgeschlossen
Hat jemand eine Idee woran es hängt?
Grüße
ich habe folgendes vor und brauche Hilfe:
Dieses ist mein Trigger:
Code:
create or replace TRIGGER Trainer_Nationalität_Check BEFORE Insert or Update ON p_Spiel FOR EACH ROW declare schiri_land p_Land.land_name%type; begin --Schir Land: select l.land_name into schiri_land from p_schiedsrichter s join p_stammt_von3 sv3 on sv3.schiedsrichter_id = s.schiedsrichter_id join p_land l on l.land_name = sv3.land_name and s.schiedsrichter_id = :new.hauptschiedsrichter_id; DBMS_OUTPUT.PUT_LINE ('Herkunft: '||schiri_land); -- M1 & M2 Land + CASE: select l.land_name from p_spiel s join p_antreten_gehort_zu agz on agz.spiel_id = s.spiel_id and s.spiel_id = :new.spiel_id join p_mannschaftsaufstellung ma on ma.mannschaftsaufstellungs_id = agz.mannschaftsaufstellungs_id join p_mannschaft m on m.mannschaft_name = ma.mannschaft_name join p_land l on l.mannschaft_name = m.mannschaft_name order by s.spiel_id; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE (SQLERRM); end;
Er soll folgendes tun: Erst hole ich mir das Land eines Schiris und speichere es in einer Variable zwischen.
Danach (im zweiten SELECT darunter) hole ich mir die Länder der beiden gegeneinander antretenden Mannschaften. Ist nur eines der beiden Länder der Mannschaften identisch mit dem des Schiris, soll das insert abgebrochen werden. Das habe ich mir so vorgestellt:
Code:
select case when l.land_name = schiri_land then raise_application_error (-20001, 'Identische Länder!.') else DBMS_OUTPUT.PUT_LINE ('Alles ok') end from p_spiel s join p_antreten_gehort_zu agz on agz.spiel_id = s.spiel_id and s.spiel_id = :new.spiel_id join p_mannschaftsaufstellung ma on ma.mannschaftsaufstellungs_id = agz.mannschaftsaufstellungs_id join p_mannschaft m on m.mannschaft_name = ma.mannschaft_name join p_land l on l.mannschaft_name = m.mannschaft_name order by s.spiel_id;
Leider funktioniert das so nicht und ich bekomme immer diese Meldung:
TRIGGER Trainer_Nationalität_Check kompiliert
Warning: Ausführung mit Warnung abgeschlossen
Hat jemand eine Idee woran es hängt?
Grüße
Comment