楼主以后提问,先给测试数据 create table case (id number , name varchar2(10),dt date); create table gar (id number , name varchar2(10)); insert into gar values(1,'test1'); insert into gar values(2,'test2'); insert into gar values(3,'test3'); create or replace trigger trigger_name before insert on case for each row declare pragma autonomous_transaction; v_name varchar2(10); begin select name into v_name from gar where id=:new.id; :new.name:=v_name; commit; exception when NO_DATA_FOUND THEN null; end; SQL> insert into case values(3,'xxxxx',sysdate);1 row insertedSQL> insert into case values(4,'xxxxx',sysdate);1 row insertedSQL> select * from case; ID NAME DT ---------- ---------- ----------- 3 test3 2010-6-12 1 4 xxxxx 2010-6-12 1SQL>
--最好是给出表结构以及记录语句 SQL> create table case (提交人 varchar2(10), 接收人 varchar2(10), 2 提交时间 date) 3 /表已创建。SQL> edi 已写入 file afiedt.buf 1* create table gar (提交人 varchar2(10), 接收人 varchar2(10)) SQL> /表已创建。SQL> insert into gar values('1','test1');已创建 1 行。SQL> insert into gar values('2','test2');已创建 1 行。SQL> insert into gar values('3','test3');已创建 1 行。 SQL> select * from gar;提交人 接收人 ---------- ---------- 1 test1 2 test2 3 test3 已写入 file afiedt.buf 1 create or replace trigger tri_gar before update or insert on case for each row 2 begin 3 update gar set 接收人=:new.接收人 4 where 提交人=:new.提交人; 5* end; SQL> /触发器已创建SQL> insert into case values('2','wkc168',sysdate);已创建 1 行。SQL> select * from gar;提交人 接收人 ---------- ---------- 1 test1 2 wkc168 3 test3
create table gar (id number , name varchar2(10));
insert into gar values(1,'test1');
insert into gar values(2,'test2');
insert into gar values(3,'test3');
create or replace trigger trigger_name
before insert on case
for each row
declare
pragma autonomous_transaction;
v_name varchar2(10);
begin
select name into v_name from gar where id=:new.id;
:new.name:=v_name;
commit;
exception when NO_DATA_FOUND THEN
null;
end;
SQL> insert into case values(3,'xxxxx',sysdate);1 row insertedSQL> insert into case values(4,'xxxxx',sysdate);1 row insertedSQL> select * from case; ID NAME DT
---------- ---------- -----------
3 test3 2010-6-12 1
4 xxxxx 2010-6-12 1SQL>
--最好是给出表结构以及记录语句
SQL> create table case (提交人 varchar2(10), 接收人 varchar2(10),
2 提交时间 date)
3 /表已创建。SQL> edi
已写入 file afiedt.buf 1* create table gar (提交人 varchar2(10), 接收人 varchar2(10))
SQL> /表已创建。SQL> insert into gar values('1','test1');已创建 1 行。SQL> insert into gar values('2','test2');已创建 1 行。SQL> insert into gar values('3','test3');已创建 1 行。
SQL> select * from gar;提交人 接收人
---------- ----------
1 test1
2 test2
3 test3
已写入 file afiedt.buf 1 create or replace trigger tri_gar before update or insert on case for each row
2 begin
3 update gar set 接收人=:new.接收人
4 where 提交人=:new.提交人;
5* end;
SQL> /触发器已创建SQL> insert into case values('2','wkc168',sysdate);已创建 1 行。SQL> select * from gar;提交人 接收人
---------- ----------
1 test1
2 wkc168
3 test3