通过dblink自动插入数据的最佳做法是什么?

时间:2017-03-08 00:28:18

标签: sql oracle insert-into dblink dbms-scheduler

我知道这个问题可能是主观的......但是要求最好的问题是'做任何事情的方式都是主观的。

我有一个Oracle数据库,我需要每周从另一个数据库中的表中导入新数据(我设置了数据库链接)。我想以简单可靠的方式自动化这个过程。

我最初的计划是使用源表名作为参数调用过程。然后,该过程将计算登台表的名称并插入数据。

CREATE OR REPLACE PROCEDURE DATA_IMPORT (v_source_table IN VARCHAR2)
AS
V_STAGING_TABLE VARCHAR2(30);
BEGIN
CASE    WHEN v_source_table='SOURCE_TABLE_1' THEN V_STAGING_TABLE:='STAGING_TABLE_1';
        WHEN v_source_table='SOURCE_TABLE_2' THEN V_STAGING_TABLE:='STAGING_TABLE_2';
        ELSE V_STAGING_TABLE:=NULL;
END CASE;


    INSERT INTO V_STAGING_TABLE 
        SELECT * FROM v_source_table@DBLINK1;
END;
/

然后为了让它按计划运行,我将创建另一个程序,该程序通过DATA_IMPORT过程为每个要导入的表执行,并使用DBMS_SCHEDULER进行计划。这听起来合理吗?

0 个答案:

没有答案