title image


Smiley Ora: Warum geht mir dieser Trigger auf die Bretter
Leider noch immer aktuell



mein Insert Trigger geht mir mit Kompilierungsfehlern auf die Bretter, show errors gibt mir nix aus und mit TOAD kann ich das Ding nicht disablen sondern nur droppen.



So von Hand, habe ich diesen Datensatz so in die Tabelle bekommen:



INSERT INTO PROD6.PEKP_APPROVAL

VALUES

('BE',

4712,

1,

10,

10000.00,

'SCHWEIGMANN',

'SCHWEIGMANN',

0,

0,

'J',

NULL,

sysdate,

'TEST',

sysdate);





Hier der Trigger, der einen Datensatz in die Tabelle PEKP_APPROVAL einfügen soll, wenn in der Tabelle PEKP ein Datensatz eingefügt wird, für den gilt:

--Fall 1 PEKP Bestellwert > 20000 and < 100000 und Vorgangsart BE





CREATE OR REPLACE

TRIGGER "PROD6".PEKP_APPROVAL_SCHW_TEST

BEFORE INSERT ON PEKP

REFERENCING NEW AS NEW OLD AS OLD

FOR EACH ROW



--Fall 1 PEKP Bestellwert > 20000 and < 100000

BEGIN

IF :NEW.APPROVAL_AMOUNT > 19999 AND :NEW.APPROVAL_AMOUNT < 99999 THEN

IF INSERTING THEN

IF :NEW.VORGANGS_ART = 'BE' THEN

INSERT INTO PEKP_APPROVAL

(VORGANGS_ART,

VORGANGS_NR,

VORGANGS_FOLGE_NR,

VORGANGS_POS_NR,

APPROVAL_AMOUNT,

LAST_APPROVER,

NEXT_APPROVER,

ACTUAL_STATUS,

MAX_STATUS,

BESTELLUNG_BLOCKED,

STATUS_NOTIFICATION,

LT_CHANGE,

ERFASSUNG)

VALUES

(:NEW.vorgangs_art,

:NEW.vorgangs_nr,

:NEW.vorgangs_folge_nr,

:NEW.vorgangs_pos_nr,

:NEW.bestellwert,

'TEST',

'TEST',

0,

0,

'J',

NULL,

sysdate,

'TEST',

sysdate);

END IF;

END IF;

END IF;

EXCEPTION

WHEN NO_DATA_FOUND THEN

NULL;

END;





Es war schon mal wer so nett und hat drauf geschaut und meinte, es sähe OK aus...



Woran kann es kneifen.



Ich muss eigentlich 9 Fälle unterscheiden und es funzt nicht mal der erste :-(
________________________________

"Per Anhalter durch die Galaxis":

Nach nur 7,5 Millionen Erdenjahren war das Rätsel gelöst. Deep Thought verkündete mit unsagbarer Erhabenheit und Ruhe: 42!!

Antworten auf zwar weitaus weniger bewegende Fragen bekommst hier deutlich schneller:

SQL-Tips das SQL-Wiki

Bis Denne Frank


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: