2010-09-22 47 views
1

尝试执行当前数据库想要从昨晚备份中提取值的单个字段的更新。应该是接近的东西:涉及两个不同目录的更新声明

update myTable 
    set status = (select status 
        from .lastBackup.dbo.myTable as t 
        where t.idField = idField) 

帮助?

+0

结构和样本数据会有所帮助。 – Oded 2010-09-22 18:27:05

+0

假设您正在讨论“正常”SQL备份,那么不应该,那么该目录不能通过TSQL访问,而无需执行完全还原。如果该“备份”已经作为另一个数据库存在于同一台服务器上,那么Joe的语法是正确的。 – BradC 2010-09-22 18:28:38

+0

结构将被暗示为相同的参考'昨晚的备份'想通过更多的会刚刚得到的方式 – justSteve 2010-09-22 18:33:10

回答

5

试试这个:有问题的表/秒的

update t 
    set status = b.status 
    from myTable t 
     inner join lastBackup.dbo.myTable b 
      on t.idField = b.idField 
+1

+1:击败我43秒... – 2010-09-22 18:27:49

+0

@OMG - 我喜欢这种反应的精度... – JNK 2010-09-22 18:30:57

+0

欠雅啤酒或更好。 – justSteve 2010-09-22 18:31:46