tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
1470
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Anis08 Anis08 ist offline Grünschnabel
    Registriert seit
    Apr 2008
    Beiträge
    4
    Hallo zusammen, ich bin das erstemal hier im Forum und gespannt wie es weitergeht. Mein trigger macht nicht das was er soll...
    Ich habe eine Tabelle(Menge) Abschlussarbeiten und drei Tabellen(disjunkte Mengen), die in reserviert,laufend und abgegeben unterteilt.
    Ich kann in der Tabelle reserviert nur einfügen, wenn der Status = `frei` UND die Zuordnung = NULL ist.
    Das gleiche gilt auch für die Tabelle laufend
    ......Status ='belegt' UND Zuordnung = 'reserviert'

    ...ich war oft auf dieser Seite und habe einige Tipps gut nutzen können aber hier sitze ich schon 24 std dran ich komme einfach nicht weiter.

    Der Trigger bewirkt nicht das was es soll. Könnt ihr mir da helfen?

    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
     CREATE OR REPLACE TRIGGER aft_reserviert_tr
     After  INSERT ON  abschlarbreserviert
     FOR EACH ROW
     DECLARE
     excep_bereits_belegt EXCEPTION;
     akt_status abschlussarbeit.abschlarbstatus%TYPE;
     CURSOR get_status IS SELECT a.abschlarbstatus FROM abschlussarbeit a WHERE :NEW.abschlarb_id=a.abschlarb_id ;
    BEGIN
        OPEN get_status;
        FETCH get_status INTO akt_status;
       IF (akt_status='frei')THEN 
     UPDATE abschlussarbeit SET abschlussarbeit.abschlarbzuordnung = 'reserviert' ,
                        abschlussarbeit.abschlarbstatus= 'belegt'
      WHERE :NEW.abschlarb_id = abschlussarbeit.abschlarb_id  ;
      ELSE
      THEN RAISE excep_bereits_belegt;
     
      END IF;
      CLOSE get_status;
      EXCEPTION  WHEN excep_bereits_belegt THEN Dbms_Output.put_line('diese Abschlussarbeit ist bereits reserviert');
     
     END;
    habe es geändert, aber klappt trotzdem nicht!
    Aber sieht trotzdem schon besser aus
    Geändert von Anis08 (01.04.08 um 14:58 Uhr)
     

  2. #2
    Avatar von shutdown
    shutdown shutdown ist offline Mitglied Smaragd
    Registriert seit
    Jun 2004
    Beiträge
    1.026
    Zuerst einmal willkommen im Forum - wir sind hier kein Chat
    Dann als nächstes - es gibt hier verschiedene Tags, mit denen Code besser dargestellt wird (zu erreichen über die Leiste oben, oder über direkte eingabe).
    Zum Beispiel ['sql']ajldfjaölsdfj['/sql'] ohne die '

    Nun zu deiner Frage:

    Du möchtest verhindern, dass Zeilen eingefügt werden.
    -> Warum machst du dann einen After-Insert-Trigger? Da ist die Zeile doch schon angelegt!
    Was du brauchst ist ein before-Insert-Trigger.
     
    Versuche nie Probleme zu lösen, von deren Existenz du noch gar nichts weißt!

  3. #3
    Anis08 Anis08 ist offline Grünschnabel
    Registriert seit
    Apr 2008
    Beiträge
    4
    Zitat Zitat von shutdown Beitrag anzeigen
    Zuerst einmal willkommen im Forum - wir sind hier kein Chat
    Dann als nächstes - es gibt hier verschiedene Tags, mit denen Code besser dargestellt wird (zu erreichen über die Leiste oben, oder über direkte eingabe).
    Zum Beispiel ['sql']ajldfjaölsdfj['/sql'] ohne die '

    Nun zu deiner Frage:

    Du möchtest verhindern, dass Zeilen eingefügt werden.
    -> Warum machst du dann einen After-Insert-Trigger? Da ist die Zeile doch schon angelegt!
    Was du brauchst ist ein before-Insert-Trigger.
    Ja ich habe diesen Trigger als Beispiel gesendet. Versucht habe ich es auch mit dem Before-Insert-trigger. Aber da funktionierte überhaupt nichts mehr und der Fehler wird nicht angezeigt.
     

  4. #4
    Avatar von shutdown
    shutdown shutdown ist offline Mitglied Smaragd
    Registriert seit
    Jun 2004
    Beiträge
    1.026
    Und der Fehler wäre?
     
    Versuche nie Probleme zu lösen, von deren Existenz du noch gar nichts weißt!

  5. #5
    Anis08 Anis08 ist offline Grünschnabel
    Registriert seit
    Apr 2008
    Beiträge
    4
    Hi, sorry irgendwas mit meinem Kennwort stimmte nicht. Musste also mind. 30 min warten bis ich mich wieder einloogen durfte. Ja, es gibt kein Fehler zu sehen.
    Line Pos Text
    125 Create trigger, executed in 3.031 sec.
    147 2 PLS-00103: Fand das Symbol "\"
    Total execution time 4.75 sec.
    Siehst du ein Fehler
     

  6. #6
    dbwizard dbwizard ist offline Mitglied Brokat
    Registriert seit
    May 2007
    Ort
    Zürich
    Beiträge
    285
    Zitat Zitat von Anis08 Beitrag anzeigen
    Hi, sorry irgendwas mit meinem Kennwort stimmte nicht.
    Siehst du ein Fehler
    - Ja : 147 2 PLS-00103: Fand das Symbol "\"

    Kannst du das komplette Script posten ?

    Gruss
     

  7. #7
    Anis08 Anis08 ist offline Grünschnabel
    Registriert seit
    Apr 2008
    Beiträge
    4
    Hallo,
    kann zuzeit nichts senden. Ich muss wieder bei dem Entwurf etwas ändern, vielen Dank trotzdem.

    Vieleicht bis später
     

Ähnliche Themen

  1. Druckausgabe einer Table mit CSS definieren
    Von Necro_nomicon im Forum CSS
    Antworten: 4
    Letzter Beitrag: 15.01.10, 14:17
  2. [MySQL] UPDATE einer Tabelle mit Einträgen aus einer anderen
    Von HamstaH im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 14.01.09, 10:11
  3. Mehrere Forms in einer Table?
    Von joeboe im Forum HTML & XHTML
    Antworten: 1
    Letzter Beitrag: 28.11.08, 03:49
  4. Sortieren einer SWT table
    Von stefangraf im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 28.02.07, 17:44
  5. Table´s einer DB abfragen ?
    Von xamunrax im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 03.03.03, 23:52