sql - 使用 SQL Server DTS 包在目标表中有条件地插入/更新行

标签 sql sql-server database tsql dts

我想创建一个 DTS 包来将 Oracle 表中的数据提取到 SQL2K table 。如何插入不在 SQL2K 表中的行以及 更新 SQL2K 表中已存在的行?

我想我可以截断并重新填充整个表或创建一个 临时表,然后从临时表更新/插入到 目标表。

有没有更简单的使用 DTS 的方法?

谢谢,

罗卡尔

最佳答案

您可以使用两个数据驱动的查询任务在 DTS 包中执行此操作:一个用于插入,一个用于更新。数据驱动的查询任务使用起来有点痛苦,但它们确实有效。我还在 sql server 2000 中使用动态 t-sql 使用 AS/400 数据库完成了此操作(“合并”)。您将编写一个输出 psql 的 t-sql 脚本,并在连接到 Oracle 数据库的链接服务器上再次运行它。

更新: DTS“数据驱动的查询任务”允许您将数据从 DTS 中的 sql server 连接插入|更新到 DTS 中的 oracle 服务器连接,而无需临时表或链接服务器。

更新2;这里有一些关于我的意思的更多信息: http://www.databasejournal.com/features/mssql/article.php/3315951

http://msdn.microsoft.com/en-us/library/aa933507(SQL.80).aspx

关于sql - 使用 SQL Server DTS 包在目标表中有条件地插入/更新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/227993/

相关文章:

sql-server - T-SQL 中的位翻转操作

sql - 过滤一组记录

mysql - SQL 没有保存正确的浮点值

c# - 从 ASP.NET 文本框向 SQL 数据库写入数据

sql-server - 备份数据库时覆盖文件

mysql - 按日期对非常大的表进行分区 - MySQL

MySQL 在 ANY 和 ALL 之间进行选择

MySQL auto_increment 不递增

php - 更新 Laravel 内容

mysql - SQL 间歇性地不返回任何数据来响应 LEFT JOIN