Oracle 用触发器 当在表test中插入一条数据时修改插入的这条记录的某一字段。
在test中有3个字段name1,name2,name3现在insertintotest(name1,name2)values(11,22)用触发器把刚插入的这条数据的n...
在test中有3个字段name1,name2,name3
现在insert into test(name1,name2) values(11,22)
用触发器把刚插入的这条数据的name3 修改成 name1+name2也就是33
高手帮忙啊。
不是有运算关系,我只是举个例子,就是想知道怎么修改新纪录本身的字段。 展开
现在insert into test(name1,name2) values(11,22)
用触发器把刚插入的这条数据的name3 修改成 name1+name2也就是33
高手帮忙啊。
不是有运算关系,我只是举个例子,就是想知道怎么修改新纪录本身的字段。 展开
1个回答
展开全部
1、这个不需要用触发器也能实现啊,不论插入的值是变量还是常量,都是你能预先知道的,插入时直接用insert into test(name1,name2,name3) values(11,22,11+22)即可,若是变量的话,insert into test(name1,name2,name3) values(a,b,a+b);
2、用触发器实现:
create or replace trigger tr_name
before insert
on test
for each row
begin
:new.name3=:new.name1+:new.name2;
end;
2、用触发器实现:
create or replace trigger tr_name
before insert
on test
for each row
begin
:new.name3=:new.name1+:new.name2;
end;
更多追问追答
追问
我只是举个例子别人好回答,实际上是需要根据新插入的数据进行查询等好多操作才能得到这个值,而且你写的这个触发器不好使,我这种写法试过了。
追答
那就把你的需求写得明确点~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询