我每天都要更新数据库中的两个表。。。一个基于从其他源运行的报表,我手动删除表并从excel导入表以替换它。
然后我需要运行一个sql代码,该代码使用第一步中刷新的数据执行计算,并创建一个表,然后用于tableau。
简而言之,步骤如下: DROP TABLE table1 PURGE;
从excel手动插入数据,如表1所示,
下表\u表清洗;
在此处创建表\u tableau作为sql计算;
为表创建索引
授予选择权。。。授予对表的访问权。。
我的问题是,有没有一种方法(如果我在同一个文件夹中以相同的名称存储文件)来存储sql将执行的任务序列?有点像一键宏?
1条答案
按热度按时间gojuced71#
在我看来,简而言之,步骤应该是:
确保将excel文件保存为csv文件(文本文件)
为什么?因为您稍后会将其用作外部表。你只是从中读取数据,没有什么特别的事情要做;只需使用创建外部表时使用的相同名称命名csv文件
以下步骤今天只能做一次,以后再也不做;在oracle中,我们通常不进行日常的删除和重新创建表
日常任务:不需要做任何事情
table1
; 一旦替换csv文件,您将只看到新数据。没有加载数据,什么都没有。创建一个存储过程来完成剩余的工作最后:如果您可以在同一时间(例如上午8:00)自动获取csv文件,您可以使用
DBMS_JOB
或者DBMS_SCHEDULER
安排P_DAILY
在一天中所需时间(例如08:30)运行的程序。如果你包括
UTL_MAIL
召唤P_DAILY
,程序将通知您(或其他人)作业已完成。这意味着:你只要坐着等,Oracle会为你做一切。