AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird INTEGER = NotNull

Ein Thema von strom · begonnen am 26. Jan 2015 · letzter Beitrag vom 26. Jan 2015
Antwort Antwort
Seite 4 von 4   « Erste     234   
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#31

AW: Firebird INTEGER = NotNull

  Alt 26. Jan 2015, 19:56
Dreh- und Angelpunkt ist das hier : NEW.EINSATZNUMMER IS NULL . Wenn du da selber eingreift, d.h. der Einsatznummer einen Wert zuweist, dann ist die eben nicht mehr NULL und der Trigger tritt nicht mehr automatisch in Aktion.
Gruß
Hansa
  Mit Zitat antworten Zitat
chess

Registriert seit: 6. Mai 2014
10 Beiträge
 
#32

AW: Firebird INTEGER = NotNull

  Alt 26. Jan 2015, 20:09
Code:
ALTER TRIGGER EINSAETZE_BI ACTIVE
BEFORE INSERT POSITION 0
...
    IF (NEW.EINSATZNUMMER IS NULL) THEN NEW.EINSATZNUMMER = iEinsatznummer;
...
Deshalb (und weil Du bei Dir die 'Einsatznummer' selber setzt, funktioniert das nicht.

Allerdings sollte der Ersteller des Triggers geteert und gefedert werden. Eine Grundregel der Datenbankprogrammierung lautet: Kodiere niemals(!) das primäre Schlüsselfeld. Niemals! Du kannst eine fortlaufende Nummer vergeben, oder -auch das ist legitim- einen eindeutigen Code, aber ein Primärschlüssel soll nie 'sprechend' sein.

Man kann zusätzlich zum Primärschlüsselfeld noch ein weiteres Feld angeben (mit unique-constraint), das dann mit derartigem Kram gefüllt ist. Aber das ist dann eben irgend eine 'Bezeichnung' des Datensatzes.
Ich würde nach dem was ich bisher weiß (12. klasse) einen pk in der datenbank immer bei firebird über generator/trigger laufen lassen.
man kann aber neue felder/spalten z.b. als computed fields machen.
gruß
a.c.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#33

AW: Firebird INTEGER = NotNull

  Alt 26. Jan 2015, 20:23
Würde ich auch so machen. Das konkrete Aussehen eines PK ist so unwichtig, das man das generell immer gleich behandelt sollte.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz