7 个解决方案
#1
先导临时表,再从临时表向你的业务表导数据。
#2
数据量不大的情况下,可以先导入后DELETE
#3
这个系统要自动运行的,不能借助临时表。可不可以建个触发器,把大于系统时间的记录删掉,小于系统时间的入库。这个触发器该如何写呢?新手求帮忙
#4
-- 可以使用触发器,大体如下
SQL> create table a(id int , cdate date) ;
表已创建。
SQL> create table b(id int , cdate date) ;
表已创建。
SQL> create trigger a_ins
2 before insert on a
3 for each row
4 begin
5 if :new.cdate <= sysdate then
6 insert into b(id,cdate) values(:new.id , :new.cdate);
7 end if ;
8 end;
9 /
触发器已创建
SQL> begin
2 insert into a(id,cdate) values(1,sysdate -1) ;
3 insert into a(id,cdate) values(1,sysdate) ;
4 insert into a(id,cdate) values(1,sysdate +1) ;
5 end ;
6 /
PL/SQL 过程已成功完成。
SQL> select id,to_char(cdate,'yyyy-mm-dd hh24:mi:ss') cdate from a ;
ID CDATE
---------- -------------------
1 2015-05-21 13:14:46
1 2015-05-22 13:14:46
1 2015-05-23 13:14:46
SQL> select id,to_char(cdate,'yyyy-mm-dd hh24:mi:ss') cdate from b ;
ID CDATE
---------- -------------------
1 2015-05-21 13:14:46
1 2015-05-22 13:14:46
SQL>
SQL> drop table a purge ;
表已删除。
SQL> drop table b purge ;
表已删除。
SQL>
#5
谢谢,您帮了我大忙了。还要问一下,可不可以不建两个表,直接满足条件的记录insert到数据库中,不满足条件的不Insert呢。if (满足条件)then 插入。如果这样写有没有问题,我没有对不满足条件的记录执行任何语句,是不是它不会插入了
#6
没有这样的功能。
#7
别的不用 就用sqlload怎样做呢 根据字段内容来 判断是否导入
#1
先导临时表,再从临时表向你的业务表导数据。
#2
数据量不大的情况下,可以先导入后DELETE
#3
这个系统要自动运行的,不能借助临时表。可不可以建个触发器,把大于系统时间的记录删掉,小于系统时间的入库。这个触发器该如何写呢?新手求帮忙
#4
-- 可以使用触发器,大体如下
SQL> create table a(id int , cdate date) ;
表已创建。
SQL> create table b(id int , cdate date) ;
表已创建。
SQL> create trigger a_ins
2 before insert on a
3 for each row
4 begin
5 if :new.cdate <= sysdate then
6 insert into b(id,cdate) values(:new.id , :new.cdate);
7 end if ;
8 end;
9 /
触发器已创建
SQL> begin
2 insert into a(id,cdate) values(1,sysdate -1) ;
3 insert into a(id,cdate) values(1,sysdate) ;
4 insert into a(id,cdate) values(1,sysdate +1) ;
5 end ;
6 /
PL/SQL 过程已成功完成。
SQL> select id,to_char(cdate,'yyyy-mm-dd hh24:mi:ss') cdate from a ;
ID CDATE
---------- -------------------
1 2015-05-21 13:14:46
1 2015-05-22 13:14:46
1 2015-05-23 13:14:46
SQL> select id,to_char(cdate,'yyyy-mm-dd hh24:mi:ss') cdate from b ;
ID CDATE
---------- -------------------
1 2015-05-21 13:14:46
1 2015-05-22 13:14:46
SQL>
SQL> drop table a purge ;
表已删除。
SQL> drop table b purge ;
表已删除。
SQL>
#5
谢谢,您帮了我大忙了。还要问一下,可不可以不建两个表,直接满足条件的记录insert到数据库中,不满足条件的不Insert呢。if (满足条件)then 插入。如果这样写有没有问题,我没有对不满足条件的记录执行任何语句,是不是它不会插入了
#6
没有这样的功能。
#7
别的不用 就用sqlload怎样做呢 根据字段内容来 判断是否导入