【发布时间】:2014-02-17 09:50:51
【问题描述】:
我正在尝试使用计划作业删除和创建表。请问怎么做?
DROP TABLE REGISTRATION;
CREATE TABLE REGISTRATION AS
SELECT *
FROM REGISTRATION_MV@D3PROD_KMDW
【问题讨论】:
我正在尝试使用计划作业删除和创建表。请问怎么做?
DROP TABLE REGISTRATION;
CREATE TABLE REGISTRATION AS
SELECT *
FROM REGISTRATION_MV@D3PROD_KMDW
【问题讨论】:
也许您正在寻找物化视图而不是表格?
create materialized view registration as
select *
from registration_mv@d3prod_kmdw
然后在工作中刷新
dbms_mview.refresh('REGISTRATION');
这比删除和创建表要好得多,因为删除表后 PL/SQL 对象将变得无效。使用 mview 它将保持安静且不会造成伤害。
【讨论】:
您应该使用DBMS_SCHEDULER 在 Oracle 中安排作业。
请参阅documentation 了解如何创建示例调度程序作业
【讨论】:
不要删除并重新创建表。如果您定期执行此操作,您的回收站中会出现大量物品,这可能会导致问题。同样如上所述,您可以在删除对象时使 pl/sql 无效,并且如果它们无法重新编译,则可能会破坏您的应用程序。
相反,您应该截断表格以删除所有行,然后重新填充它:
截断表注册;
插入注册(从registration_mv@D3PROD_KMDW中选择*);
【讨论】: