从链接的Oracle数据库复制许多视图以在SQL Server中创建表

时间:2018-02-28 17:11:17

标签: sql-server oracle linked-server

我在SQL Server中有一个Oracle链接服务器,并希望将多个视图的内容复制到SQL Server中的数据库,这些来自Oracle的视图将成为SQL Server中的表。我一次做了这个,但我正在寻找一个解决方案,能够刷新这些视图,其中104个,每晚一夜。

我可以手动设置作业,但我正在寻找一种解决方案,它将从视图中删除并重新创建表,或只刷新存在的SQL Server表中的数据。

希望我已经解释得这么好了!

非常感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:1)

如果您还没有MSSQL数据库中的表结构,我会说所有104个视图都要经历一次,并说出以下内容:

SELECT *
INTO MSSQLNewTable (this will be the name of your new table)
FROM <However you reference your Oracle view from within MS SQL Server>

执行此操作后,创建一个说:

的SQL脚本
TRUNCATE TABLE MSSQLTable_Name
INSERT INTO MSSQLTable_Name
SELECT * FROM OracleTable_Name

.....每张桌子。在按您设置的计划运行的数据库实例中创建作业。

使用sys。用于生成语句的表,因此您不必键入104次。