oracle 触发器学习心得

在处理表或行数据时,oracle提供的触发器,可以对其他表进行DML操作。


创建触发器的一般语法是:

 

CREATE [OR REPLACE] TRIGGER trigger_name
{BEFORE | AFTER }
{INSERT | DELETE | UPDATE [OF column [, column …]]}
[OR {INSERT | DELETE | UPDATE [OF column [, column …]]}...]
ON [schema.]table_name | [schema.]view_name 
[REFERENCING {OLD [AS] old | NEW [AS] new| PARENT as parent}]
[FOR EACH ROW ]
[WHEN condition]
PL/SQL_BLOCK | CALL procedure_name;


我在项目中的实际应用是这样:


对表中的一行数据中的一个值进行update时,做为触发条件,修改另外一张表的数据,如下所示:


CREATE OR REPLACE TRIGGER "ATMS48SE"."UPDATE_GQTS" 
AFTER UPDATE OF value
ON t_sys_login_config
FOR EACH ROW
 WHEN (old.id='1002')  --当id='1002' 并update value列的时候才会触发此触发器
BEGIN
   IF UPDATING('value') THEN
      UPDATE T_SYS_USER  SET GQTS= :old.value where gqtslx='0';
   END IF;
END;


以上是我的一点小小学习心得,可以交流。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值