Oracle/PL/SQL
15일차 # 10-15: OLD, NEW
Bohemian life
2012. 4. 24. 22:25
- Row Trigger 에서만 가능
- 트리거 블록 내에서 사용하며 사용시 콜론(:)을 앞에 붙여야 함
* INSERT: OLD -> NULL, NEW -> inserted value
* UPDATE: OLD -> value before update, NEW -> value after update
* DELETE: OLD -> value before delete, NEW -> NULL
- REFERENCING
create or replace trigger emp_trg_2
before insert or update of sal on t_emp
referencing new as n_val
-- old as o_val
for each row
-- referencing new as n_val
begin
if not (:n_val.job in ('PRESIDENT', 'ANALYST'))
and :n_val.sal >= 3000 then
raise_application_error(-20002, '급여를 3000 달러 이상 받을 수 없는 직군입니다.');
end if;
end;
/