我每天都要更新数据库中的两个表.一种是基于从其他来源运行的报表,我将手动删除该表并从excel导入表以替换它。
然后,我需要运行一个SQL代码,它使用第一步刷新的数据执行计算,并创建表,然后用于Tableau。
简而言之,步骤包括:
DROP TABLE table1 PURGE;我的问题是是否有一种方法(如果我也将文件以相同的名称存储在同一个文件夹中)。若要存储SQL将执行的任务序列,请执行?就像一次点击宏?
发布于 2020-07-16 06:29:19
在我看来,简单地说,应该是
保存为CSV文件(文本文件)
- why? Because you'll later use it as an **external table**. You just read data from it, there's nothing special you should do; just name the CSV file with the same name you used while creating the external table创建表table1 (…)组织外部(.);创建表table_tableau (.);为table_tableau创建索引;向table_tableau授予SELECT
table1做任何事情;一旦您替换了CSV文件,您将只看到新的数据。没有加载数据什么都没有。创建一个存储过程,它将完成其余的工作。创建或替换过程p_daily作为开始执行立即‘截断表_tableau’;插入到table_tableau选择。table1;END;中的计算
最后,
DBMS_JOB或DBMS_SCHEDULER来安排P_DAILY过程在一天中所需的时间(例如08:30)运行。如果将UTL_MAIL调用包含到P_DAILY中,则该过程将通知您(或其他人)该工作已经完成。
这意味着:你坐着等着,甲骨文会为你做所有的事。
https://stackoverflow.com/questions/62928356
复制相似问题