Trigger Oracle PLSQL Tutorial

SQL>
SQL> CREATE OR REPLACE TRIGGER what_column
  2  AFTER ALTER ON SCHEMA
  3  DECLARE
  4    -- cursor to get columns in a table
  5    CURSOR curs_get_columns ( cp_owner VARCHAR2,
  6                              cp_table VARCHAR2 ) IS
  7    SELECT column_name
  8      FROM all_tab_columns
  9     WHERE owner = cp_owner
 10       AND table_name = cp_table;
 11
 12  BEGIN
 13
 14    IF ORA_DICT_OBJ_TYPE = 'TABLE' THEN
 15
 16      FOR v_column_rec IN curs_get_columns(ORA_DICT_OBJ_OWNER,
 17                                           ORA_DICT_OBJ_NAME) LOOP
 18
 19        IF ORA_IS_ALTER_COLUMN(v_column_rec.column_name) THEN
 20
 21          DBMS_OUTPUT.PUT_LINE(ORA_DICT_OBJ_OWNER        || '.' ||
 22                               ORA_DICT_OBJ_NAME         || '.' ||
 23                               v_column_rec.column_name);
 24
 25        END IF;
 26
 27      END LOOP;
 28
 29    END IF;
 30
 31  END;
 32  /
Trigger created.