【问题标题】:SQL code to copy data from 1 database table to another将数据从一个数据库表复制到另一个数据库表的 SQL 代码
【发布时间】:2012-03-26 12:54:28
【问题描述】:

我弄乱了数据。我已经修改了 ID 和值,以至于我不记得原件是什么了。 (测试一些东西)。

我有一个名为 query_string_interpretation 的表,它的部分 DB 名为 test1_db

我有一个已恢复的备份数据库,名为 test2_db

如何将其内容从一个数据库表恢复到另一个?

【问题讨论】:

  • 我们在谈论多少行?另外,哪个版本的 SQL 2008?还是 2005 年?

标签: sql-server sql-server-2008 tsql data-transfer


【解决方案1】:

如果您没有更多信息...通常您可以使用INSERT INTO/SELECT FROM 在表之间移动数据。

语法大致是:

INSERT INTO
test1_db..query_string_interpretation ( <your columns here>)
select <your columns here>
FROM test2_db..query_string_interpretation

【讨论】:

  • 我不需要截断我的第一个表吗?
  • 我刚刚删除了第一个表格内容,然后用 * 运行它
  • 您的问题非常模糊,很难知道您到底需要什么。截短?也许;删除大概。我无法推荐 b/c 我不知道是否有防止删除的外键,表结构是什么样的,test2 是否包含 test1 中数据的精确副本,它们是否是同一台服务器,或者任何事物。您的问题只是询问如何将 test2 中的数据写回 test1。我假设你知道如何清理你的桌子。花更多时间写你的问题,你会得到更准确的答案。
  • 很高兴 * 工作,但不知道您的表是否有标识列,我不能假设 * 没问题。
  • 我刚刚看到你对另一张海报的评论。对不起,如果它遇到粗鲁,我不打算这样做。我的评论很简洁,但那是因为我们的性格有限。我看到您在这里发布的内容不多,并想指出您可以在问题中包含的各种信息。你问得越好,答案就越准确。例如,不要猜测表中的标识列,或者 FK 会阻止简单的 DELETE * FROM。
【解决方案2】:

首先,您需要确保所有数据都在源表中,或者数据同时放置在源表和目标表中。在第一种情况下,您需要截断目标表:

TRUNCATE TABLE test1_db..query_string_interpretation

其次,您需要确保将正确的值插入到 IDENTITY 字段中(如果这些字段存在)。使用SET INDENITY_INSERT ON 语句。 第三,您需要插入值:

insert into test1_db..query_string_interpretation
select * from test2_db..query_string_interpretation

别忘了将INDENITY_INSERT 切换为OFF,您在第二步中将其切换为ON。

【讨论】:

  • @sp-1986,and you are polite和SQL有什么关系?
  • 光顾回复对新成员不友好或不欢迎。回答你的问题,没什么 - 但我很友好。
  • @sp-1986,也许有些东西被删除了,但是当我阅读所有内容时,我什至没有看到任何粗鲁的东西。
【解决方案3】:

您可以使用 SQL 向导为您执行此操作。在 Management Studio 中,右键单击任一数据库,选择 Tasks 然后选择 Import Data...Export Data...

【讨论】:

    【解决方案4】:

    试试这个:

    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,也许吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    相关资源
    最近更新 更多