Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数据从一个数据库中的表复制到另一个数据库中的表-SQL是什么?_Sql_Copy - Fatal编程技术网

将数据从一个数据库中的表复制到另一个数据库中的表-SQL是什么?

将数据从一个数据库中的表复制到另一个数据库中的表-SQL是什么?,sql,copy,Sql,Copy,我的情况是我有20个Access数据库。每个表都有相同的15个表,但数据不同。20个数据库中的每个表的名称和模式都是相同的 我想创建一个具有相同结构的新数据库,并用所有20个原始数据库的内容填充它,因此我有一个包含15个大表的数据库,而不是包含15个小表的20个数据库 我必须在SQL中完成这一切,因为我正在通过Ruby Acess库进行接口- 有人能帮我解决SQL问题吗?我真正需要的是一个示例,将源数据库中一个表中的所有记录附加到目标数据库中的一个表中 哦,让事情变得更复杂一点,每个数据库中的1

我的情况是我有20个Access数据库。每个表都有相同的15个表,但数据不同。20个数据库中的每个表的名称和模式都是相同的

我想创建一个具有相同结构的新数据库,并用所有20个原始数据库的内容填充它,因此我有一个包含15个大表的数据库,而不是包含15个小表的20个数据库

我必须在SQL中完成这一切,因为我正在通过Ruby Acess库进行接口-

有人能帮我解决SQL问题吗?我真正需要的是一个示例,将源数据库中一个表中的所有记录附加到目标数据库中的一个表中


哦,让事情变得更复杂一点,每个数据库中的15个表都有一组不同的字段,有些表有很多字段,大约40个。因此,完美的惰性解决方案不需要我在复制行时列出表中的每个字段。这可能吗?

如果您有可用的SQL server,则可以使用SQL server集成服务SSI

这样,您就可以使用GUI和向导来传输数据

基本sql将是一条语句。为了缩短时间,我将调用您的20个数据库,如DB1、DB2。。DB20和最终数据库DBFinal

惰性解决方案将要求从主shema获取字段名-最好列出字段,因为您可以自动生成sql语句或使用应用程序或ER图表中的任何字段

逻辑: 1创建DBFinal,禁用主键的自动增量,以便可以插入来自DB1、DB2。。。 2生成一个select,选择每个表的所有行和列。比如:

SELECT key, atrb1, atrb2 FROM table1
3通过使用文本复制粘贴将insert组装到select语句中,类似于:

INSERT into DBFinal.user.table1 (key, atrb1, atrb2) SELECT key, atrb1, atrb2 FROM table1
四, 如果在不同的数据库中为不同的值获取相同的键值,则需要更改所有主外键值,以便在目标数据库中不获取重复的键值。我建议在DBFinal中添加一个值行计数+1。 在DBFinal中插入表1键、atrb1、atrb2
从表1中选择+9001键、atrb1键、atrb2键,Hi Shiraz-我不知道,不幸的是,我需要用sql完成所有操作。感谢Erv-我使用ruby界面完成了这项操作。这有点愚蠢,因为我基本上必须这样做-从源表中获取字段名-从源表中获取行数据-使用上面的方法构建插入字符串我已经完成了避免重复的步骤,在每个数据库的每个表中添加了一个产品id字段,每个数据库都是唯一的,并将其添加到每个表的复合主键中。干杯maxNice很高兴听到你成功了——这可能是一项需要高度集中精力的工作,希望没有其他紧急任务打扰。