帮我写一个oracle 触发器 简单的 表T(A,B) 当插入数据A=“A”时 ,B自动插入数据“B” 谢谢了。

2025-03-24 17:30:32
推荐回答(3个)
回答1:

CREATE OR REPLACE TRIGGER tr_INSERT_emp
AFTER INSERT--指定触发时机为更新操作后触发
ON T
FOR EACH ROW --说明创建的是行级触发器
BEGIN
UPDATE  T  SET B=:'B'

where A=:old.AEND;


回答2:

-- 创建表
create table TTT(
a VARCHAR2(10),
b VARCHAR2(10)
);
-- 创建触发器
CREATE OR REPLACE TRIGGER tr_i_before_ttt BEFORE INSERT
ON TTT FOR EACH ROW
BEGIN
if :New.A = 'A' then
:New.B := 'B';
end if;
END;
/
-- 测试
insert into TTT(a, b) values ('A', 'C');
insert into TTT(a, b) values ('B', 'C');
-- 结果
sxdtgsh> select * from TTT;

A B
---------- ----------
A B -- 这个值在插入的时候是C,触发器已经改成B了。
B C

回答3:

从你的问题看你对触发器的理解有问题~~