不是,是insert into t_build values('a',121,'a','a'); 后commit;
应该是不能用OLD的,新插入的数据怎么会有OLD呢, create or replace trigger temp_trig after insert on t_Test for each row begin if :new.col1 is null then insert into t_test1 values('a','01'); else insert into t_test1 values('a','b'); end if ; end temp_trig; 我机器有这个临时表,我试了一下这样是可以 的!你再稍微改动一下,应该没有什么问题的
ft我要晕死了 create or replace trigger temp_trig AFTER insert on t_build REFERENCING OLD AS OLD NEW AS NEW for each row begin insert into t_temp values('a',:new.buildid,'a','a'); end temp_trig;
create or replace trigger temp_trig before insert on t_build for each row begin if :new.buildid is null then insert into t_temp values('a',1,'a','a'); else insert into t_temp values('a',:new.buildid,'a','a'); end if ; end temp_trig;insert into t_build values('a',121,'a','a'); 可是t_temp里头没有数据。
CREATE OR REPLACE TRIGGER NEWSCDD.TRY AFTER INSERT ON NEWSCDD.TRY1 REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW BEGIN insert into try2 values(:new.a1,:new.a2); END;给你讲了半天了,你怎么死也搞不懂!! ft,给你个最简单的。
两张表try1和try2,都是2个字段a1,a2
create or replace trigger temp_trig before insert on t_build for each row begin if :new.buildid is null then insert into t_temp values('a',1,'a','a'); else insert into t_temp values('a',:new.buildid,'a','a'); end if ; end temp_trig;/ select * from t_temp; insert into t_build values('a',121,'a','a'); select * from t_temp; 把上面的数据执行一下,应该没有问题的,我考虑是不是你改动后没有编译呀!这么简单的东西不会有什么问题的啦!
你是不是没有更新数据的权限啊,你用触发器所有者登录数据库,然后运行 insert into t_temp values('a',1,'a','a'); commit; 再看看有没有数据
没有任何错误吗?
后commit;
create or replace trigger temp_trig
after insert on t_Test
for each row
begin
if :new.col1 is null then
insert into t_test1 values('a','01');
else
insert into t_test1 values('a','b');
end if ;
end temp_trig;
我机器有这个临时表,我试了一下这样是可以 的!你再稍微改动一下,应该没有什么问题的
create or replace trigger temp_trig
AFTER insert on t_build
REFERENCING OLD AS OLD NEW AS NEW
for each row
begin
insert into t_temp values('a',:new.buildid,'a','a');
end temp_trig;
before insert on t_build
for each row
begin
if :new.buildid is null then
insert into t_temp values('a',1,'a','a');
else
insert into t_temp values('a',:new.buildid,'a','a');
end if ;
end temp_trig;insert into t_build values('a',121,'a','a');
可是t_temp里头没有数据。
AFTER INSERT
ON NEWSCDD.TRY1
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
BEGIN
insert into try2 values(:new.a1,:new.a2);
END;给你讲了半天了,你怎么死也搞不懂!!
ft,给你个最简单的。
before insert on t_build
for each row
begin
if :new.buildid is null then
insert into t_temp values('a',1,'a','a');
else
insert into t_temp values('a',:new.buildid,'a','a');
end if ;
end temp_trig;/
select * from t_temp;
insert into t_build values('a',121,'a','a');
select * from t_temp;
把上面的数据执行一下,应该没有问题的,我考虑是不是你改动后没有编译呀!这么简单的东西不会有什么问题的啦!
insert into t_temp values('a',1,'a','a');
commit;
再看看有没有数据