我在DB MSSQL中具有从链接服务器ORACLE加载数据的过程
在DB MSSQL中有一个表:
在DB MSSQL中,该过程用于将数据更新并将数据加载到table_2中,该过程将运算符IN与CURSOR一起使用,它可以长期工作。table_2包含1-2百万行。
还有其他方法/方法可以使用表_1中的初始数据将数据从ORACLE DBMS快速加载到MSSQL吗?
最简单的方法是,如果您具有递增的UID。在同步结束时,将最大值记录到表中。下次运行同步时,以>唯一值开头。
我尝试避免使用游标,我使用插入/选择。它们更容易编码,运行非常快,并且整体失败。我要每4小时将60万条记录从Oracle复制到SQL Server。
下面的示例是T
SQL,并从SQL执行服务器。如果需要从Oracle执行,则可以将相同的代码轻松转换为PL / SQL。我都做过这两种方式。
DECLARE @last_loaded INT;
SELECT last_loadedINTO @last_loaded来自tracker_tableWHERE load_type ='2';
INSERT INTO LOAD_TABLE(ID,哥伦比亚,哥伦比亚,COLUMNC)选择ID,专栏,b栏,列c来自oracledb..COPYSCHEMA.COPYTABLEWHERE ID> coalesce(@last_loaded,0);
SELECT MAX(LAST_LOADED)INTO @last_loaded从LOAD_TABLE;
UPDATE TRACKER_TABLE组LAST_LOADED = @last_loaded哪里LOAD_TYPE = 2;