求一个Oracle触发器 只保存近2天的表中数据,(将之前的数据自动触发删除)。例如对表historyData执行。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一个Oracle触发器 只保存近2天的表中数据,(将之前的数据自动触发删除)。例如对表historyData执行。相关的知识,希望对你有一定的参考价值。
您好,在表A上建触发器代码里是不可以对表A进行select delete update insert等操作的。建议建procedure 然后使用job来实现你的需求。或者是在表B上建触发器,当触发时检查表A数据并进行删除。存储过程写法:
create or replace procedure del_data
as
begin
delete from historyData where date_col < sysdate-2;
commit;
end; 参考技术A delete from historyData where dTime< date_add(sysdate, interval -2 day);追问
触发器。。。。 不是sql
ORACLE中用PLSQL如何把一个表中数据通过.DMP文件导出,再导入到另一个数据库的一个相同表结构的表中?
我想用PLSQL中把oracle数据库中的一个数据表中的表数据通过dmp导出来,然后在另一个数据库里把这个dmp里面的数据导入一个相同表结构的数据表里。具体要怎么操作,我试了各种都不行啊,求大神指点具体操作过程。。是在pl/sql里面操作。
在线等,急急急急
不是报错,是我想要这个功能,我有两个数据库。我想把第一个数据库里的一个数据表通过dmp导出来。然后将这个dmp导入到另一个数据库的一个相同表结构不同表名的表里。我就是想知道怎么导进去?当然如果第二个表里有数据,那导进来的dmp就是追加数据而不是覆盖数据。
追答源库a,目标库b
建一个dblink,在b库执行insert into tab select * from tab@dblinkname;
创建dblink脚本:
create public database link dblinkname
connect to username
identified by passwd
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = sid)
)
)';
不行啊,两个数据库分别在内网和外网,不能直接通信的,所以我只能手动导出dmp数据,然后手动导到另一个数据库的表里!
追答你看看expdp和impdp吧,网上一搜一大堆
以上是关于求一个Oracle触发器 只保存近2天的表中数据,(将之前的数据自动触发删除)。例如对表historyData执行。的主要内容,如果未能解决你的问题,请参考以下文章