Copyright: [Beijing] Java Youth: 456588754 https://blog.csdn.net/Amen_Wu/article/details/53457564
Trigger: emp table when a record is deleted, the deleted records are written to the date on which table
Create table del_emp as select * from emp where 1=2;
Select * from emp;
Create or replace trigger tr_del_emp
Before delete
On emp
For each Row
When (old.deptno<>10)
Begin
Insert into ;
Trigger Type:
- Trigger Mode (DDL): DDL statements mode;
- Database-level triggers: on, off, board, back when the database system to perform an event;
- DML triggers: row-level, the statement level, instead of (view) trigger.
Three parts of trigger:
1. Trigger statements (event): DML event definitions that activates the trigger, DDL event
Before delete
On emp
For each row
2. Trigger restrictions: execution of a trigger condition, the condition is true when the trigger is activated
When (old.dept<>10)
- Trigger actions (subject): contains some SQL statements, code, issued in triggering statement and the trigger condition is true run.
Begin
Insert into del_emp(deptno,empno,… …) // :old 即将删除的数据 :new 即将插入的数据
Values(:old.deptno,:old.empno,… …);
End;
trigger:
Alter trigger 名字 disable;//禁用触发器
Drop trigger 名字 enable;//启用触发器
View (virtual table):
Grant create view to scott select on v1;
Create view v1 as select * from emp;
Select * from v1;
Grant/revoke create view select on v1;
Create or replace trigger giud_emp_row
After insert or delete or update
On emp
For each row //行级触发器,去掉为语句级触发器
Begin
If updating then
Dbms_output.put_line(‘order_master中数据更新’);
Else if deleting then ;
Else if inserting then ;
End if;
End;