系统触发器的WHEN
子句用起来还挺灵活,适合那些想在数据库层控制业务逻辑的场景。像是LOGON
、LOGOFF
这类触发器,用USERID
或USERNAME
就能轻松搞定用户筛选。
不过有几个坑你得注意:STARTUP和SHUTDOWN触发器压根不让你加条件,直接就执行。而SERVERERROR触发器,只认ERRNO
测试——其他都别想了。
写DDL
触发器时,可以检测对象名和类型,挺适合拦截乱操作的 DDL 语句,防止开发手抖。想深入了解?这几个资源还挺实用:
如果你刚好在搞PL/SQL
,是想把业务逻辑从应用层搬到底层,这类系统触发器可以多试试,写得好还能省掉不少后端代码。