C/C++内存分配方式以及存储分区
2020-11-23 09:12
(1)触发器的分类
DML 触发器包括行级触发器、语句级触发器
自动生成数据
自定义复杂的安全权限
针对周六日不能进行修改数据库:
提供审计和日志记录
启用复杂的业务逻辑
用触发器实现自增的主键:
1.
2.效率高
3.效率低
(4)语法解析:
INSTEAD OF:仅用于替代触发器,即event_target必须为视图,而且必须带FOR EACH ROW子句
trigger_event:触发的事件。可以是DML事件(INSERT、UPDATE、DELETE、INSERT OR UPDATE、UPDATE OF column_name),系统事件(STARTUP、SHUTDOWN等)。
event_target:即指trigger_event事件是发生在哪个对象上的。如DML事件,那么event_target应该是表名或视图名,如果是系统事件,那么event_target就应该是DATABASE或SCHEMA
FOR EACH ROW:如果带此子句,即表示该触发器是行级触发器,如果省略,则是语句级触发器。
WHEN condition :用于限制行级触发器,只有满足condition条件,才会触发触发器。
(5)修改触发器的状态
触发器有ENABLED和DISABLED两种状态。
修改某个触发器的状态可以执行下面的SQL:
ALTER TRIGGER trigger_name ENABLE | DISABLE;
使某个表上的所有触发器有效或无效:
ALTER TABLE table_name {ENABLE | DISABLE} ALL TRIGGERS;
(6)删除触发器
DROP TRIGGER trigger_name;
上一篇:Java基础: IO操作
下一篇:C/C++函数、变量和指针