Hallo Ich habe eine Registra_cambios() -Funktion; die ich allen Tabellen in meiner Datenbank zuweisen möchte, frage ich mich, ob Sie den Auslösenamen mit dem Datensatz (Tabellenname) verknüpfen können, damit der Cursor nicht den gleichen Triggernamen für alle Tabellen hatTrigger Name dynamisch zuweisen postgresql
Triggerbeispiel erstellen t_log_ "record"()
CREATE OR REPLACE FUNCTION ActiveTriggers() returns void as $$
DECLARE
r record;
c CURSOR FOR SELECT table_name as tab FROM information_schema.tables WHERE table_schema='public' AND table_type='BASE TABLE';
BEGIN
FOR r IN c LOOP
create trigger t_log_r before insert or update or delete
on r.tab
for each row
execute procedure Registra_cambios();
END LOOP;
END;
$$ LANGUAGE plpgsql;
Verwendung 'execute' für dynamische sQL- –
Eigentlich auslöst, ist ein Tabellen-Eigenschaft, so dass ihre Namen sollten durch eindeutige nur für den gleichen Tisch, nicht um das Schema /Datenbank. – Abelisto
@Abelisto wenn ich den Namen dynamisch erstellen möchte, t_log_ name + nametable –