Ist es möglich, die Spalten einer Tabelle dynamisch zu durchlaufen?

Ich habe eine Triggerfunktion für einen Tabellentest, der den folgenden Codeausschnitt enthält:

IF TG_OP='UPDATE' THEN
    IF OLD.locked > 0 AND
 (       OLD.org_id <> NEW.org_id OR
            OLD.document_code <> NEW.document_code OR
            -- other columns ...
 )
THEN
    RAISE EXCEPTION 'Message';
-- more code

So überprüfe ich statisch den neuen Wert der Spalte mit dem vorherigen Wert, um die Integrität sicherzustellen. Jedes Mal, wenn sich meine Geschäftslogik ändert und ich dieser Tabelle neue Spalten hinzufügen muss, muss ich diesen Auslöser jedes Mal ändern. Ich dachte, es wäre besser, wenn ich irgendwie alle Spalten dieser Tabelle dynamisch überprüfen könnte, ohne ihren Namen explizit einzugeben.

Wie geht das?

Antworten auf die Frage(10)

Ihre Antwort auf die Frage