Ich habe eine allgemeine Frage zu Triggern. Gibt es trotzdem eine Möglichkeit, die SQL-Datenbank so zu programmieren, dass SQL, wann immer ein Trigger ausgelöst wird, uns sagt, welche Datenzeilen entfernt oder bearbeitet wurden, um die eigenen Kriterien zu erfüllen. In meinem Fall verwende ich PostgreSQL und ich habe einen spezifischen Auslöser, der bestimmte Reihen löscht, die in eine Tabelle eingefügt werden, wenn ein bestimmtes Kriterium erfüllt wird. Gibt es etwas, ich hinzufügen oder ändern Sie die Einstellungen in postgreSQL, die mir anzeigt, welche Zeilen und wie viele Zeilen in diesem Fall gelöscht wurden:SQL Trigger Informationen
CREATE TRIGGER unknowns
AFTER INSERT
ON employees
FOR EACH ROW
EXECUTE PROCEDURE delete_rows();
CREATE OR REPLACE FUNCTION delete_rows()
RETURNS trigger AS
$BODY$
BEGIN
DELETE FROM employees WHERE Customer = 'unknown';
RETURN NEW;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
@No Name, es löst in meiner Datenbank fein aus. Bitte fühlen Sie sich zu ändern, wenn Sie es besser machen können, ich möchte nur benachrichtigt werden, wie viele Zeilen gelöscht werden, sobald die Tabelle eingefügt wird. –
Es scheint, dass Sie nach einem Audit-Trigger suchen. Siehe [hier] (http://cjauvin.blogspot.de/2013/05/impossibly-lean-audit-system-for.html) oder [hier] (http://okbob.blogspot.co.uk/2015/) 01/most-simply-implementation-of-history.html) oder [hier] (http://8kb.co.uk/blog/2015/01/19/copying-pavel-stehules-simple-history-table-but -mit-dem-jsonb-type /) –