Dbai Ue03 Bs04

  • Habt ihr eine Idee was dran schuld sein könnte, wenn man den Trigger erst gar nicht anlegen kann?
    Wenn ich meinen Trigger-Create Code ausführe (egal ob ich ihn in sqlplus kopiere oder mit "start" ausführe - schreibt mir SQLPlus nur die Zeilennummern her - erst Strg+C erlaubt wieder die Annahme von neuen Befehlen :-/


    lg Clemens

    To avoid horrible confusion, please pronounce the G in the word GNU when it is the name of this project.

  • Habt ihr eine Idee was dran schuld sein könnte, wenn man den Trigger erst gar nicht anlegen kann?
    Wenn ich meinen Trigger-Create Code ausführe (egal ob ich ihn in sqlplus kopiere oder mit "start" ausführe - schreibt mir SQLPlus nur die Zeilennummern her - erst Strg+C erlaubt wieder die Annahme von neuen Befehlen :-/

    lg Clemens



    Generell passiert das wenn ein ";" fehlt. Dann ist das Kommando nicht abgeschlossen.

  • [quote] Ja hab ich mir auch gedacht, aber ein oder mehere ';' müssten doch das Statement abschließen und wenigstens zu einem Fehler führen.


    Vieleicht ists ja nur eine Kleinigkeit die ich überseh:


    lg Clemens

    To avoid horrible confusion, please pronounce the G in the word GNU when it is the name of this project.

  • [quote] Ja hab ich mir auch gedacht, aber ein oder mehere ';' müssten doch das Statement abschließen und wenigstens zu einem Fehler führen.


    Mach mal hinten noch ein '/' , aus Gründen die ich nicht weiss (bin kein Oracle-Spezialist) hat das mal wo bei mir geholfen.


    Ich habe zur Sicherheit auch den Fall :NEW.persnr IS NULL zugelassen und den Vergleich auf :OLD.persnr gemacht, bin mir aber nicht sicher ober der Fall eintreten kann ... ja, wenn beim SET die NEW.persnr nicht angegeben wird, dann wird sie wohl NULL sein, hat das schon wer getestet ob das so ist?


    Lg, Axel.

    Alexander (Axel) Straschil

  • Quote


    Mach mal hinten noch ein '/' , aus Gründen die ich nicht weiss (bin kein Oracle-Spezialist) hat das mal wo bei mir geholfen.


    Komisch, damit funktionierts. Danke vielmals :) *verwirrt bin*


    Quote


    beim SET die NEW.persnr nicht angegeben wird, dann wird sie wohl NULL sein, hat das schon wer getestet ob das so ist?


    Nein, es sieht so aus als OLD=NEW für die Werte die nicht beim update angegeben werden.
    Es funktioniert z.B. auch: UPDATE Trainer_view SET gehalt=1000 WHERE gehalt=200


    Lg Clemens

    To avoid horrible confusion, please pronounce the G in the word GNU when it is the name of this project.

  • Komisch, damit funktionierts. Danke vielmals :) *verwirrt bin*


    Ja, war ich damals auch. Und erst dann beim Java-Beispiel:

    Code
    1. cstmt = conn.prepareCall("{? = call f_praemie(f_bedeutung(?,?))}");


    Das "call" ist Casesensitiv, CALL funktioniert nicht! Hat mich über eine Stunde gekostet ;-(



    Nein, es sieht so aus als OLD=NEW für die Werte die nicht beim update angegeben werden.


    Ah, gut zu wissen! Dann vergiss meine Anmerkungen dazu ;-)


    Lg, Axel.

    Alexander (Axel) Straschil

  • Hallo,

    Hab ein Problem und finde keine Lösung. Sitze irgendwie auf der Leitung.
    Hier mein code:



    Fehlermeldung:



    Danach ist meine Datenbank wieder leer. :mad:

    KSPIELER kommt von:

    Code
    1. ALTER TABLE mannschaft ADD CONSTRAINT kspieler
    2. FOREIGN KEY (bezeichnung, kapitaen) REFERENCES spielt_in (mannschaft, persnr)
    3. INITIALLY DEFERRED DEFERRABLE;



    Finde nichts was da falsch ist. HILFE Danke

    mfg

    ES LEBE DIE HORDE!!!!:D :thumb:

  • Ja hatte einen kapitän zu einer mannschaft verwiesen der aber nicht in der Mannschaft ist. :sudern:

    waren 2 zahlen zum austauschen und ich sitze da 1 stunde und suche. :sudern:

    Danke, Danke, Danke:thumb:

    ES LEBE DIE HORDE!!!!:D :thumb:

  • Hallo!
    Bin schon am verzweifeln mit dem Trigger. Hat wer irgendeine Ahnung warum ich diesen Fehler bekomme bzw wie er sich ausmärzen lässt


    Code
    1. SQL Error: ORA-04098: Trigger 'SYSTEM.T_UPDATE_TRAINER' ist ungültig und konnte nicht neu bestätigt werden
    2. 04098. 00000 - "trigger '%s.%s' is invalid and failed re-validation"
    3. *Cause: A trigger was attempted to be retrieved for execution and was
    4. found to be invalid. This also means that compilation/authorization
    5. failed for the trigger.
    6. *Action: Options are to resolve the compilation/authorization errors,
    7. disable the trigger, or drop the trigger.
  • Also ich hab mich an den vom letzten Jahr gehalten natürlich statt insert ein update. Problem tritt bei den Test-updates auf


    Danke für Hilfe

  • weiter oben hatte ich ja schon mal meinen trigger gepostet, der guckt ja
    eigentlich aus wie deiner. bei mir funkt er auch. hier mal meine testdaten.



    die persnrs werden evt net passen aber es das ist auch gleich.
    ich werd deinen mal schnell an meine db anpassen und versuch ihn bei mir.

    Wer spaeter bremst faehrt laenger schnell:thumb:

  • eins is mir mal gleich aufgefallen.
    du hast im ersten update
    persnr=:new.persnr
    drinnen...hm

    edith: :D
    und deine tabelle heisst
    Personen und net evt person?

    Wer spaeter bremst faehrt laenger schnell:thumb: