问一个入门级的触发器

gyj_china 2006-11-15 09:12:30
两张表table1, table2结构一样,结构如下
xm, sex, age
当我改变table1的age时,把table1更改之前的数据插入到table2,做个备份。
...全文
163 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnzpabc 2006-11-15
  • 打赏
  • 举报
回复
CREATE OR REPLACE TRIGGER tr_sec_UpdateAnoy
after UPDATE ON table_info
FOR EACH ROW
BEGIN

if :old.age <> :new.age then
insert into table_info_temp values(:old.xm, :old.sex, :old.age);
END IF;
END;
chenro 2006-11-15
  • 打赏
  • 举报
回复
hnzpabc(窗外的猪是多么不一样

錯!錯!錯!
你連new, old都沒引用到
hnzpabc 2006-11-15
  • 打赏
  • 举报
回复
create or replace trigger trgname
after insert or update or delete on table_info
for each row
declare
cur_update sys_refcursor;
temp_date table_info_temp%rowtype;
begin
open cur_update for select * from table_info where sex='1';
loop
exit when cur_update%notfound;
fetch cur_update into temp_date;
insert into table_info_temp values temp_date;
end loop;
close cur_update;
end;
hnzpabc 2006-11-15
  • 打赏
  • 举报
回复
create table table_info(
xm varchar2(20),
sex varchar2(20),
age varchar2(20));
create table table_info_temp(
xm varchar2(20),
sex varchar2(20),
age varchar2(20));

declare
cur_update sys_refcursor;
temp_date table_info_temp%rowtype;
begin
open cur_update for select * from table_info where sex='1';
loop
exit when cur_update%notfound;
fetch cur_update into temp_date;
insert into table_info_temp values temp_date;
end loop;
close cur_update;
end;

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧