【问题标题】:Update statement involving two different catalogs涉及两个不同目录的更新语句
【发布时间】:2010-09-22 18:23:05
【问题描述】:

尝试更新当前数据库想要从昨晚的备份中提取值的单个字段。应该接近:

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

帮助?

【问题讨论】:

  • 有问题的表结构和样本数据会有所帮助。
  • 假设您正在谈论“正常”SQL 备份,那么不,如果不进行完全还原,则无法通过 TSQL 访问该目录。如果该“备份”已作为同一服务器上的另一个数据库存在,则 Joe 的语法是正确的。
  • 结构将通过引用“昨晚的备份”被暗示为相同,认为更多会妨碍

标签: sql sql-server tsql sql-update


【解决方案1】:

试试这个:

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

【讨论】:

  • @OMG:我认为这是第一次。我会因此获得徽章吗? :-)
  • @justSteve:我现在用一个“公认的答案”来代替那个啤酒。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-18
  • 2016-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多