Announcement

Collapse
No announcement yet.

check constraint für Spalte B nur wenn Wert X in Spalte A

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • check constraint für Spalte B nur wenn Wert X in Spalte A

    Ich versuche abzufangen, dass in einer Belegtabelle (Angebot bis Rechnung) Rechnungen ohne Kundenummer angelegt werden. Das es das Beste ist die Regeln immer gleich in der Datenbank als letzten Rettungsanker zu hinterlegen (falls im Programm ein Fehler ist), war mein Gedanke einen Check Constraint zu verwenden. Der darf aber nur prüfen ob Feld Kundennummer leer ist wenn eine Rechnung eingefügt wird. Ist so ein Check Constraint möglich oder kann über einen before/after insert Trigger ein Datensatz wieder gecancelt werden wenn die Bedingung nicht stimmt? Verwendet wird IB 6.*
    Gruß Andreas

  • #2
    Hallo Andreas,<BR><BR>
    man kann in einem before insert Trigger eine Exception auslösen, welche das Speichern verhindert.<PRE>
    CREATE EXCEPTION EMPTY_KUNR 'Keine Kundennummer eingegeben!';</PRE>
    und im Trigger dann<PRE>
    if ((new.kundennummer is null) or (new.kundennummer = '')) then exception EMPTY_KUNR;</PRE>
    Gruss, Fran

    Comment


    • #3
      Hat geklappt
      Gruß Andrea

      Comment

      Working...
      X