我正在尝试使用预定作业DROP并创建表。怎么办呢?
DROP TABLE REGISTRATION;
CREATE TABLE REGISTRATION AS
SELECT *
FROM REGISTRATION_MV@D3PROD_KMDW
答案 0 :(得分:2)
也许您正在寻找物化视图而不是表格?
create materialized view registration as
select *
from registration_mv@d3prod_kmdw
然后在作业中刷新它
dbms_mview.refresh('REGISTRATION');
这比删除和创建表要好得多,因为删除表后PL / SQL对象将变为无效。使用mview,它将保持沉默,没有任何伤害。
答案 1 :(得分:1)
您应该使用DBMS_SCHEDULER
在Oracle中安排作业。
有关如何创建示例调度程序作业的信息,请参阅documentation
答案 2 :(得分:1)
不要删除并重新创建表格。如果您定期执行此操作,您的回收站中将会收到大量物品,这可能会导致问题。同样如上所述,您可以在删除对象时使pl / sql无效,如果无法重新编译,可能会破坏您的应用程序。
相反,您应该截断表以删除所有行,然后重新填充它:
截断表注册;
插入注册(select * from registration_mv @ D3PROD_KMDW);