—觸發器,就是制定一個規則,在我們做增刪改操作的時候oracle觸發器替換數據,
----只要滿足該規則oracle觸發器替換數據,自動觸發,無需調用。
----語句級觸發器:不包含有for each row的觸發器。
–行級觸發器:包含有for each row的就是行級觸發器。
-----加for each row是為了使用:old或者:new對象或者一行記錄。
----語句級觸發器
----插入一條記錄,輸出一個新員工入職
or t1
after
on
BEGIN
.(‘一個新員工入職’);
END;
—觸發t1
into (1,‘小工’);
;
* from ;
—行級別觸發器
—不能給員降薪
—ror(-20001~-20999之間,‘錯誤提示信息’)
or t2
on emp
for each row
begin
if :old.sal>:new.sal then
ror(-20001, ‘不能給員工降薪’);
end if;
end;
----觸發t2
* from emp where empno = 7788;
emp set sal=sal-1 where empno = 7788;
;
----觸發器實現主鍵自增。 [行級觸發器]
—分析: 在用戶做插入操作的之前,拿到即將插入的數據,
------給該數據中的主鍵列賦值。
or auid
on
for each row
BEGIN
. into :new.pid from dual;
END;
—查詢表數據
;
使用auid買現主鍵自增
into (pname) (‘a’);
;
into (1,‘b’);
;