Einzelnen Beitrag anzeigen

Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#3

Re: Trigger Before Insert/Update wird nicht ausgeführt, wies

  Alt 27. Nov 2007, 11:22
Zitat von mkinzler:
Ist der Trigger aktiv?
Ja; so wird es auch von IBExpert angezeigt.
Zitat:
Ist ID wirklich NULL?
Durch den INSERT-Befehl wurde ID nicht mit einem Wert belegt (siehe Code-Auszug). Also müsste es so gelten.

Aber diese Nachfrage bringt mich (vermutlich) auf die Lösung: Die ID ist definiert mit einer Domain:
CREATE DOMAIN D_ID AS INTEGER DEFAULT 0 NOT NULL Dies hat FB wahrscheinlich zuerst ausgewertet. Ich werde deshalb den Trigger so ändern:
SQL-Code:
begin
  IF ( New.Id IS NULL OR New.Id = 0)
  THEN New.Id = GEN_ID(Zebu_Aendg_ID, 1);
END
Danke! Jürgen

PS. Dieses Problem war ein Beispiel für Betriebsblindheit: ich habe mich in meinen Gedanken festgerannt.
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat