-- making use of the special variable TG_OP to work out the operation.
--
IF (TG_OP = 'DELETE') THEN
- INSERT INTO emp_audit SELECT 'D', now(), user, OLD.*;
+ INSERT INTO emp_audit SELECT 'D', now(), current_user, OLD.*;
ELSIF (TG_OP = 'UPDATE') THEN
- INSERT INTO emp_audit SELECT 'U', now(), user, NEW.*;
+ INSERT INTO emp_audit SELECT 'U', now(), current_user, NEW.*;
ELSIF (TG_OP = 'INSERT') THEN
- INSERT INTO emp_audit SELECT 'I', now(), user, NEW.*;
+ INSERT INTO emp_audit SELECT 'I', now(), current_user, NEW.*;
END IF;
RETURN NULL; -- result is ignored since this is an AFTER trigger
END;
IF NOT FOUND THEN RETURN NULL; END IF;
OLD.last_updated = now();
- INSERT INTO emp_audit VALUES('D', user, OLD.*);
+ INSERT INTO emp_audit VALUES('D', current_user, OLD.*);
RETURN OLD;
ELSIF (TG_OP = 'UPDATE') THEN
UPDATE emp SET salary = NEW.salary WHERE empname = OLD.empname;
IF NOT FOUND THEN RETURN NULL; END IF;
NEW.last_updated = now();
- INSERT INTO emp_audit VALUES('U', user, NEW.*);
+ INSERT INTO emp_audit VALUES('U', current_user, NEW.*);
RETURN NEW;
ELSIF (TG_OP = 'INSERT') THEN
INSERT INTO emp VALUES(NEW.empname, NEW.salary);
NEW.last_updated = now();
- INSERT INTO emp_audit VALUES('I', user, NEW.*);
+ INSERT INTO emp_audit VALUES('I', current_user, NEW.*);
RETURN NEW;
END IF;
END;
--
IF (TG_OP = 'DELETE') THEN
INSERT INTO emp_audit
- SELECT 'D', now(), user, o.* FROM old_table o;
+ SELECT 'D', now(), current_user, o.* FROM old_table o;
ELSIF (TG_OP = 'UPDATE') THEN
INSERT INTO emp_audit
- SELECT 'U', now(), user, n.* FROM new_table n;
+ SELECT 'U', now(), current_user, n.* FROM new_table n;
ELSIF (TG_OP = 'INSERT') THEN
INSERT INTO emp_audit
- SELECT 'I', now(), user, n.* FROM new_table n;
+ SELECT 'I', now(), current_user, n.* FROM new_table n;
END IF;
RETURN NULL; -- result is ignored since this is an AFTER trigger
END;