2017-08-04 163 views
0

这是针对SQL Server的。我有表格Productproduct_id pk)和Customerscust_id pk)。还有一些其他表格具有上述外键。将特定数据从一个数据库移动到另一个数据库

我需要想出一套好的INSERT语句,可以将上述表中的行从一个数据库移动到另一个数据库。有没有一个好的工具可以做到这一点?

扭曲也是因为不同的数据库对于产品和客户有不同的ID - 所以插入应该首先根据产品名称和客户名称(假设没有重复)来查找ID。

+1

https://stackoverflow.com/questions/30009962/ssis-moving-data-from-one-database到另一个数据库 你最好的选择是使用SSIS来解决这个问题,并且这个问题已经在堆栈溢出中多次被回答。总的方向是在这个话题。你只需要创建自己的数据流。 – ttallierchio

+1

你在用什么“其他数据库”?我不认为在数据库之间为相同的产品/客户使用不同的“Keys”是个好主意。您可能需要考虑复制。 –

+0

ttallierchio,它似乎仍然没有通用的解决方案。我在考虑 - 在产品表中为工具提供一个产品名称 - 然后它应该浏览整个数据库,查找对此产品条目的所有外键引用(并继续递归搜索),从而找出需要导出的所有行并构建一个可以导入到另一个数据库的中间XML或脚本。 –

回答

0

如果数据库在同一服务器内,您可以使用以下假设他们有相同的表结构

USE [TESTDB] 

SELECT * 
    INTO #values 
    FROM producttbl 

USE [OTHERDB] 

INSERT INTO tbl_product 
SELECT * 
    FROM #values 

的扭曲也是不同的数据库有 产品和客户不同的ID - 所以插入应首先查询基于 的ID,然后输入产品名称和客户名称(假设 没有重复项)。

对于这一点,你必须创建具有条件的SQL语句来查找那些特定的记录

相关问题