Oracle 触发器 行触发,对同行其他字段进行修改。


--同表操作时,当触发字段发生改变时,对另一个字段进行修改,
--个人觉得这种不应该用触发器,直接写到程序中比较好。



CREATE
OR REPLACE TRIGGER 触发器名称 --触发器名称 before insert or update OF 字段A,字段B ON 表名 for each row begin :new.字段C:=:new.字段A || :new.字段B; end;

 

转载于:https://www.cnblogs.com/yehshuai/p/3710963.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle触发器是一种特殊的数据库对象,它会在指定的数据表上执特定的操作,如插入、更新或删除数据时触发触发器可以用来实现各种数据库约束和业务逻辑,比如检查数据完整性、自动计算数据等。 Oracle触发器分为触发器和语句级触发器触发器会在每一数据发生变化时触发,而语句级触发器则会在整个SQL语句执完毕后触发。 创建Oracle触发器的语法如下: ``` CREATE [OR REPLACE] TRIGGER trigger_name {BEFORE | AFTER} {INSERT | UPDATE | DELETE} ON table_name [FOR EACH ROW] [WHEN condition] DECLARE -- 声明变量和常量 BEGIN -- 触发器的操作,可以是PL/SQL代码或SQL语句 END; ``` 其中,`trigger_name`是触发器的名称,`INSERT`、`UPDATE`和`DELETE`是触发器要监听的事件,`table_name`是要监听的表名,`condition`是触发条件,`DECLARE`和`BEGIN`之间是触发器的操作,可以是PL/SQL代码或SQL语句。 例如,下面是一个在`orders`表上创建的触发器,它会在每次插入新数据时自动计算订单总额并更新到`orders`表的`total_amount`字段中: ``` CREATE OR REPLACE TRIGGER calc_total_amount BEFORE INSERT ON orders FOR EACH ROW BEGIN :NEW.total_amount := :NEW.price * :NEW.quantity; END; ``` 在这个触发器中,`BEFORE INSERT`表示在插入数据之前触发,`FOR EACH ROW`表示是触发器,`:NEW`是一个系统变量,表示新插入的数据,`:=`表示赋值操作。因此,触发器的作用是将`price`和`quantity`相乘并赋值给`total_amount`字段
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值