Cześć,
CREATE OR REPLACE TRIGGER TRIGGER_TAB
BEFORE INSERT OR UPDATE ON TAB
FOR EACH ROW
DECLARE username varchar(50);
BEGIN
SELECT USER into username FROM DUAL;
IF :NEW.AUTHOR is null
THEN
:NEW.AUTHOR := username;
END IF;
END;
Potrzebuję napisać trigera który przy modyfikacji danych dopisze autora do rekordu, ale tylko wtedy gdy nie updatetuję kolumny z autorem.
Innymi słowy jeśli
update TAB set COL1 = 'Piłka' where id = 1
To powinien wstawić mi nazwę zalogowanego użytkownika bazodanowego
update TAB set COL1 = 'Piłka', AUTHOR = 'Marcelina' id = 1
Wtedy ma wstawić słowo Marcelina
Przypadek drugi działa, niestety przypadek pierwszy działa tylko jeśli dodam AUTHOR = null