oracle如何增加一个表 ,这个表自动记录某个表特定字段变动的信息?
例如A表是一个用户薪水表,有很多用户的薪水信息。怎么样增加一个B表,让B表自动更新记录A表中用户的薪水变动情况?可以在B表中查询历史执行过哪些薪水,这个薪水是哪个时间段执...
例如A表是一个用户薪水表,有很多用户的薪水信息。
怎么样增加一个B表,让B表自动更新记录A表中用户的薪水变动情况?
可以在B表中查询历史执行过哪些薪水,这个薪水是哪个时间段执行的。
同时以后薪水涨了,也可以记录下新的薪水和是什么时候涨的。
数据库新手,如果有比较详细操作步骤和方法就好了。
万分感谢。
还有一个C表是用户信息表,B表需要记录的是用户的薪水变化。 展开
怎么样增加一个B表,让B表自动更新记录A表中用户的薪水变动情况?
可以在B表中查询历史执行过哪些薪水,这个薪水是哪个时间段执行的。
同时以后薪水涨了,也可以记录下新的薪水和是什么时候涨的。
数据库新手,如果有比较详细操作步骤和方法就好了。
万分感谢。
还有一个C表是用户信息表,B表需要记录的是用户的薪水变化。 展开
2个回答
展开全部
触发器 大概写法
create or replace trigger JL before update on A for each row
declare
user varchar2(10);
salary varchar2(10);
sysdate_ varchar2(10);
if inserting or updating then
user :=:new.user;
salary :=:old.salary;
select sysdate into sysdate_ from dual;
if salary (此处不等号 不知道怎么写了 你自己查查) :new.salary
insert into B values(user,salary,sysdate_);
commit;
end if;
大概是这个思路 具体的标准语法你再查查 自己在完善一下 好久不写存储过程了 都忘了 也不知道对不对
create or replace trigger JL before update on A for each row
declare
user varchar2(10);
salary varchar2(10);
sysdate_ varchar2(10);
if inserting or updating then
user :=:new.user;
salary :=:old.salary;
select sysdate into sysdate_ from dual;
if salary (此处不等号 不知道怎么写了 你自己查查) :new.salary
insert into B values(user,salary,sysdate_);
commit;
end if;
大概是这个思路 具体的标准语法你再查查 自己在完善一下 好久不写存储过程了 都忘了 也不知道对不对
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询