我搞乱了数据。我一直被赞美的ID和值,直到我不记得原件是什么。 (测试几件事)。将数据从1个数据库表复制到另一个的SQL代码
我有一个表叫query_string_interpretation
和DB其一部分调用,test1_db
我有我已经恢复称为备份数据库,test2_db
我如何从一个数据库表恢复其内容另一个?
我搞乱了数据。我一直被赞美的ID和值,直到我不记得原件是什么。 (测试几件事)。将数据从1个数据库表复制到另一个的SQL代码
我有一个表叫query_string_interpretation
和DB其一部分调用,test1_db
我有我已经恢复称为备份数据库,test2_db
我如何从一个数据库表恢复其内容另一个?
首先,您需要确保源表中包含所有数据,或者将数据放在两个表中 - source和目的地。在第一种情况下,你需要截断目标表:
TRUNCATE TABLE test1_db..query_string_interpretation
其次,你需要确保你将插入正确的价值观为标识字段,如果这些字段存在。使用SET INDENITY_INSERT ON
声明。 第三,你需要插入值:
insert into test1_db..query_string_interpretation
select * from test2_db..query_string_interpretation
而且不要忘了切换INDENITY_INSERT
为OFF时,你在第二步中切换它打开。
你有最好的答案,并且你很有礼貌。谢谢! :) – 2012-03-26 13:17:29
@ SP-1986有哪些呢'和你polite'与SQL呢? – 2012-03-26 20:34:13
光顾回复对新会员不友善或欢迎。为了回答你的问题,没有什么 - 但我很友善。 – 2012-03-26 20:42:41
没有关于您的更多信息...通常您可以使用INSERT INTO/SELECT FROM
在表格之间移动数据。
的语法大致是:
INSERT INTO
test1_db..query_string_interpretation (<your columns here>)
select <your columns here>
FROM test2_db..query_string_interpretation
我不需要截断我的第一张表吗? – 2012-03-26 13:00:09
我刚刚删除了第一个表格内容,然后用* – 2012-03-26 13:04:27
运行它您的问题非常模糊,以至于很难知道您需要什么。截短?也许;大概删除。如果test2包含test1中的数据的确切副本,或者它们是同一台服务器,或者它们是同一台服务器,或者它们是同一台服务器,或者它们是同一台服务器,则不知道是否存在防止删除的外键,表格结构如何任何东西。你的问题只是询问如何将数据从test2写回到test1。我假设你明白如何清理你的桌子。花更多的时间来写你的问题,你会得到更准确的答案。 – EBarr 2012-03-26 13:04:45
您可以使用SQL向导来为你做这个。在Management Studio中,右键单击数据库,选择Tasks
然后Import Data...
或Export Data...
试试这个:
delete from test1_db..query_string_interpretation
insert into test1_db..query_string_interpretation
select * from test2_db..query_string_interpretation
如果你有一个标识字段,你可能不得不写列的名称(除身份一)。如果您需要保留ID,请查看SET IDENTITY_INSERT ON语句here
SET的indentity INSERT ON,也许? – 2012-03-26 13:16:59
我们在谈论多少行?还有,哪个版本的SQL 2008?或2005年? – 2012-03-26 12:57:13
MSSQL 2008,786行 – 2012-03-26 12:57:54