//新增字段更改值
create or replace trigger trg_insert_terminal_addr_hex
before insert
on r_tmnl_run
for each row
begin
:new.terminal_addr_hex:=substr(:new.terminal_addr,1,4)|| lpad(trim(to_hex(substr(:new.terminal_addr,5,5))),4,'0') ;
END;
//修改字段赋值
CREATE OR REPLACE TRIGGER trg_update_terminal_addr_hex
BEFORE UPDATE
ON r_tmnl_run
FOR EACH ROW
DECLARE
BEGIN
if(:old.TERMINAL_ID=:new.TERMINAL_ID)then
:new.terminal_addr_hex:=substr(:new.terminal_addr,1,4)|| lpad(trim(to_hex(substr(:new.terminal_addr,5,5))),4,'0') ;
end if;
END;
create or replace trigger trg_insert_terminal_addr_hex
before insert
on r_tmnl_run
for each row
begin
:new.terminal_addr_hex:=substr(:new.terminal_addr,1,4)|| lpad(trim(to_hex(substr(:new.terminal_addr,5,5))),4,'0') ;
END;
//修改字段赋值
CREATE OR REPLACE TRIGGER trg_update_terminal_addr_hex
BEFORE UPDATE
ON r_tmnl_run
FOR EACH ROW
DECLARE
BEGIN
if(:old.TERMINAL_ID=:new.TERMINAL_ID)then
:new.terminal_addr_hex:=substr(:new.terminal_addr,1,4)|| lpad(trim(to_hex(substr(:new.terminal_addr,5,5))),4,'0') ;
end if;
END;
Oracle触发器更新案例
本文介绍了一种在Oracle数据库中使用触发器更新字段的具体实现方式。通过两个触发器示例展示了如何在插入或更新记录时自动计算并设置terminal_addr_hex字段的值。此方法利用了Oracle的before insert和before update触发器特性。
1314

被折叠的 条评论
为什么被折叠?



