嗨,我有一個Registra_cambios()函數;想要分配給我的數據庫中的所有表,我想知道是否可以連接觸發器名稱與記錄(表名)我的光標不具有相同的觸發器名稱在所有表上動態分配觸發器名稱postgresql
創建觸發器示例t_log_「記錄」 ()
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;
使用'execute'動態SQL –
其實觸發器是一個表屬性,因此它的名稱應該由唯一隻爲同一個表,而不是相反模式/數據庫。 – Abelisto
@Abelisto如果是這樣我想創建名稱動態觸發器,t_log_名稱+名稱表 –