CREATE OR REPLACE TRIGGER "user1"."col1_col2"
AFTER UPDATE
ON "user1"."tab1"
FOR EACH ROW
begin
update tab1
set col3=:old.innum-:old.outnum where sid=:old.sid;
end
AFTER UPDATE
ON "user1"."tab1"
FOR EACH ROW
begin
update tab1
set col3=:old.innum-:old.outnum where sid=:old.sid;
end
可不可以在建数据库的时候通过指定defualt (col1-col2)来实现?
create procedure insert_pro(p_col1 in varchar2,p_col2 in varchar2)
as
num number;
begin
num:=p_col1+p_col2;
insert into tab1 (col3) values (num);
end;
/
create procedure update_pro(p_sid in varchar2)
as
begin
update tab1 set col3=col1+col2 where sid=p_sid;
end;
/
CREATE OR REPLACE TRIGGER col1_col2
AFTER insert or UPDATE ON tab1
FOR EACH ROW
begin
if inserting then
insert_pro(:new.col1,:new.col2);
else
update_pro(:old.sid);
end if;
end;
/