DECLARE CURSOR cur_user_tables IS SELECT table_name FROM user_tables; CURSOR cur_user_tab_cols (v VARCHAR2) IS SELECT utc.table_name, utc.column_name FROM user_tab_cols utc WHERE utc.table_name = v; BEGIN FOR rec_user_tables IN cur_user_tables LOOP FOR rec_user_tab_cols IN cur_user_tab_cols (rec_user_tables.table_name) LOOP DBMS_OUTPUT.put_line ( 'CREATE OR REPLACE TRIGGER TRG_' || rec_user_tab_cols.table_name ); DBMS_OUTPUT.put_line ( 'AFTER INSERT OR UPDATE ON ' || rec_user_tab_cols.table_name ); DBMS_OUTPUT.put_line ('FOR EACH ROW '); END LOOP; END LOOP; END;