【问题标题】:Complexity of inserting插入的复杂性
【发布时间】:2012-06-22 16:07:43
【问题描述】:

我与老客户的问题加上过时的系统。部分问题。这 3 个表包含数据库中的现有数据。让我解释一下,当时的情景是什么,然后我希望你们能帮助我完成这项工作。

场景

  • 正如您想象的那样,有很多 Product,尤其是 ProductZone...
  • 客户添加新区域(假设 新区域 U、V、W、X、Y、Z),不幸的是 ProductZone 没有!
  • 如果不存在,客户需要更新(插入)ProductZones 以使所有现有产品引用新区域和一些旧区域(假设 旧区域 R、S、T),在这里我遇到了...,需要你的帮助!

解释

如果我理解正确,我必须大量插入 ProductZone,在这种情况下通过复杂的 T-SQL 过滤条件和插入语句。

我很乐意接受任何建议,在此先感谢。

【问题讨论】:

    标签: sql sql-server sql-server-2008 insert insert-update


    【解决方案1】:

    此查询将填充 ProductZone 表中可用的现有产品和 Product 表中可用的新产品的区域。

    INSERT   INTO ProductZone 
    SELECT ZoneNo, 
           ProductNo 
    FROM   Product a 
           CROSS JOIN ZONE b 
    WHERE  NOT EXISTS (SELECT 1 
                       FROM   ProductZone c 
                       WHERE  a.ProductNo = c.ProductNo 
                              AND a.zone = c.zone) 
    

    【讨论】:

    • 在运行查询之前备份数据库是值得的。这样你就安全了。
    • @Romil 太好了,你真的帮了我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多