# DatenBank trigger



## PollerJava (9. Nov 2007)

Hallo,

Kennt jemand für die DB von FireBird eine Trigger- Anweisung, welche mir eine Zeile in einer Tabelle der DatenBank löscht, wenn diese Zeile vollständig ausgefüllt ist?

lg


----------



## tuxedo (9. Nov 2007)

Vielleicht solltest du erstmal im Handbuch schaueb ob Firebird "Trigger" beherrscht. Und dort steht dann auch, wenn FireBird das kann, wie man Trigger anlegt.

- Alex


----------



## tuxedo (9. Nov 2007)

P.S. Hier mal ein kleines Triggerbeispiel (ja, FireBird kann Trigger):


```
CREATE TRIGGER Log_Price_Upd FOR Articles
AFTER INSERT OR UPDATE 
AS BEGIN 

  IF INSERTING THEN
    INSERT INTO PRICE_LOGS (ART_ID, ACTION, DATETIME, NEW_PRICE) VALUES (NEW.ART_ID, 'I', 'NOW', NEW.PRICE);

  ELSE
    INSERT INTO PRICE_LOGS (ART_ID, ACTION, DATETIME, NEW_PRICE) VALUES (NEW.ART_ID, 'U', 'NOW', NEW.PRICE);

END;
```

Du solltest nun im Stande sein das auf deine Bedürfnisse anzupassen.


----------



## PollerJava (14. Nov 2007)

Hi,

muss ich den Trigger in eine Datei legen und in einem gewissen Ordner oder kann ich das über iBatis ausführen oder wie funktioniert das?

(hab schon "intensiv" gegoogelt aber bis jetzt nichts gefunden)

lg und vielen Dank für Eure Antworten,


----------



## tuxedo (14. Nov 2007)

Öhm, der Trigger ist ein SQL-Statement wie jedes andere auch. Und das hättest du mit dem Handbuch sicher rausgefunden.


----------



## PollerJava (14. Nov 2007)

Hi,

Ich habe das TFM gelesen und es funktioniert ganz gut (bisher ohne Probleme), eine Frage blieb aber offen:

Wie startet der Trigger automatisch beim hochfahren des DBManagers in FireBird,
Hat da jemand eine Ahnung? über eine Batch- Datei oder so,

Bis jetzt muss ich in die Komandozeile noch


```
SQL> input filename;
```

eingeben.

lg


----------



## tuxedo (14. Nov 2007)

?? Wenn du den Trigger einmal ausgeführt hast, dann ist der in der DB drin. Du musst da nix starten. Ist genau wie mit Tabellen. Einmal angelegt sind sie drin. Aber auch das müsste im Manual zu finden sein.

- Alex


----------



## PollerJava (14. Nov 2007)

Vielen Dank!!!!! 
Dann hab ichs, 
lg


----------

