SolveItproblems

SolveITProblems is a project of QFormat.net intellectual club

SolveITProblems это проект интеллектуального клуба QFormat.net

пятница, 25 октября 2013 г.

ORACLE PL/SQL. Какие именно столбцы изменяются ? (Триггер)

   Сегодня немного заработавшись в базе я решил создать триггер для облегчения себе работы.
Допустим у меня есть таблица которую я изменяю ("АПДЕЙТ-ю").
требуется узнать какой именно столбец изменяется. Естественно нужно написать триггер который эту информацию мне и вернёт.

Собственно выкладываю сам код (ORACLE PL/SQL):




CREATE OR REPLACE TRIGGER whichColChange BEFORE UPDATE ON users
REFERENCING OLD AS OLD NEW AS NEW
  FOR EACH ROW
DECLARE
  CURSOR cur_my_cols IS SELECT column_name FROM cols WHERE table_name='USERS';
  tab_cols cur_my_cols%ROWTYPE;
BEGIN

  OPEN cur_my_cols;
  LOOP
  FETCH cur_my_cols INTO tab_cols;
  EXIT WHEN cur_my_cols%NOTFOUND;

  IF updating (tab_cols.column_name) THEN
    dbms_output.put_line('You want to update ' || tab_cols.column_name ||' column!');
  END IF;

  END LOOP;
  CLOSE cur_my_cols;
END;

Дальше немного изменю код что-бы получать как-можно подробную информацию...

Комментариев нет:

Отправка комментария