create table t_real_record_mid1
(
equipment_no varchar2(200 char),
num_info float ,
record_date date ,
record_no varchar2(200 char),
record_type_no varchar2(200 char)
)
此表中数据为实时插入,数据量不断的增长中数据插入时间为秒(record_date为数据的采集时间点)
create table t_real_record_mid2
(
equipment_no varchar2(200 char),
num_info float ,
record_date date ,
record_no varchar2(200 char),
record_type_no varchar2(200 char)
)
本张表字段和上表字段一样,但只有最大时间点的数据(根据record_date区分)-------------------------
想做个触发器,当1表中有新数据插入的时候,就出发这个触发器,把1表中最大时间点的数据插入的2表中替换掉2表中原有数据,请问是否有可行的办法 ,来写一个触发器完成此项工作
(
equipment_no varchar2(200 char),
num_info float ,
record_date date ,
record_no varchar2(200 char),
record_type_no varchar2(200 char)
)
此表中数据为实时插入,数据量不断的增长中数据插入时间为秒(record_date为数据的采集时间点)
create table t_real_record_mid2
(
equipment_no varchar2(200 char),
num_info float ,
record_date date ,
record_no varchar2(200 char),
record_type_no varchar2(200 char)
)
本张表字段和上表字段一样,但只有最大时间点的数据(根据record_date区分)-------------------------
想做个触发器,当1表中有新数据插入的时候,就出发这个触发器,把1表中最大时间点的数据插入的2表中替换掉2表中原有数据,请问是否有可行的办法 ,来写一个触发器完成此项工作
解决方案 »
- 高手,这个查询结果你可以用一个sql得到吗?
- 高手请教:表占空间无故疯狂增大!!!
- 有谁知道Oracle,DB2,SQL Server在代价评估模型上面的区别?
- rebuild索引的问题
- 已知存储过程名如sp_InsertInfo,在那张系统表中有这个存储过程的所有入口参数信息?
- 表被删除后如何恢复!
- 用Oracle 8i 求一本在PL/SQL中,专门写procedure&function的书!!谢谢!我以前用SQL server,现在用oracle,想死啊,一点都不习惯,一
- 高手请写一下如何建oracle job,dblink,snapshot,和刷新snapshot的语句!!!
- oracle9i字符集问题
- 触发器问题
- 函数索引(FBI)无效问题
- 请教SQL
after insert on t_real_record_mid1
for each row
declare
begin
delete from t_real_record_mid2;
insert into t_real_record_mid2 values(:new.equipment_no,:new.num_info,:new.record_date,:new.record_no,:new.record_type_no);
end t_mid1_tri;
create or replace trigger t_mid1_tri
before insert on t_real_record_mid1
for each row
declare
txdat date;
begin
select max(record_date) into txdat from t_real_record_mid1;
if txdat < :new.record_date then
delete from t_real_record_mid2;
insert into t_real_record_mid2 values(:new.equipment_no,:new.num_info,:new.record_date,:new.record_no,:new.record_type_no);
end if;
exception when no_data_found then
insert into t_real_record_mid2 values(:new.equipment_no,:new.num_info,:new.record_date,:new.record_no,:new.record_type_no);
end t_mid1_tri;
create or replace trigger tri_upt_real_record_mid2 before
insert on t_real_record_mid1 for each row
begin
delete from t_real_record_mid2 where equipment_no=:new.equipment_no;
insert into t_real_record_mid2
value(:new.equipment_no,:new.num_info,:new.record_date,:new.record_no,:new.record_type_no);
end;
insert on t_real_record_mid1 for each row
begin
delete from t_real_record_mid2 where equipment_no=:new.equipment_no;
insert into t_real_record_mid2
value(:new.equipment_no,:new.num_info,:new.record_date,:new.record_no,:new.record_type_no);
end;