Frage stellen
0

Libreoffice Base: Trigger für log-Tabelle nach Löschen von Einträge funktioniert nicht

gefragt 2018-07-09 10:55:13 +0200

Hallo zusammen,

ich möchte einen Trigger herstellen, der nach dem Löschen eines Eintrags, die ID des gelöschten Eintrags in einer log Tabelle kopiert. Ich habe den folgenden SQL-command eingegeben:

CREATE TRIGGER backup_entries AFTER DELETE ON "table_1" FOR EACH ROW INSERT INTO "log_table"("ID") SELECT "ID" FROM "deleted"

Nun kriege ich die Meldung "user lacks privilege or object not found: DELETED". Das gleiche passiert, wenn ich in einem Trigger versuche, auf die Werte der "inserted" Tabelle zurückzugreifen.

Kann mir jemand dabei helfen?

Bearbeiten Tags ändern Melden schließen vereinen löschen

1 Antwort

0

geantwortet 2018-07-10 19:05:12 +0200

RobertG Gravatar-Bild

Woher hast Du den Code? Wenn Du die interne Datenbank HSQLDB nutzt, dann musst Du Dich an das halten, was hier steht: User Guide HSQLDB 1.8

Wenn ich den Guide richtig verstehe, dann brauchst Du eine TriggerClass:

CREATE TRIGGER <name> {BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON <table>
    [FOR EACH ROW] [QUEUE n] [NOWAIT] CALL <TriggerClass>;

... und wie die erstellt wird entzieht sich meinen Kenntnissen. Deswegen habe ich da auch nie etwas zusammen mit der internen HSQLDB zum Laufen gebraucht und entsprechend auch nicht im Handbuch hinterlegt.

Wenn Du z.B. mit einer externen MySQL/MariaDB arbeitest ist das natürlich etwas anderes. Auch mit der internen Firebird-Datenbank habe ich zumindest schon einmal einen Trigger zum Erstellen eines Autowert-Feldes hin bekommen. Mit der HSQLDB in der eingebauten Form kann aber schon "user lacks privilege ..." ein Hinweis darauf sein, dass das dort nicht funktionieren wird. Ich lasse mich aber gerne eines Besseren belehren, selbst wenn LO in den neuen Versionen voll auf Firebird setzt.

Bearbeiten Melden löschen Link mehr
Registrieren oder einloggen, um zu antworten

Antwortwerkzeuge

1 Beobachter

Statistik

Gefragt: 2018-07-09 10:55:13 +0200

Angesehen: 9 Mal

Aktualisiert: Jul 10