MSSQL木限制。 IN里面的东西过多可以弄成表。

解决方案 »

  1.   

    在 IN 子句中包括数量非常多的值(数以千计)可能会消耗资源并返回错误 8623 或 8632。若要解决这一问题,请将这些项存储于某个表的 IN 列表中。错误 8623:查询处理器用尽了内部资源,无法生成查询计划。这种情况很少出现,只有在查询极其复杂或引用了大量表或分区时才会出现。请简化查询。如果您认为该消息的出现纯属错误,请与客户支持服务部门联系,了解详细信息。错误 8632:内部错误: 达到了表达式服务限制。请在您的查询中查找潜在的复杂表达式,并尝试简化它们。
      

  2.   

    这个你可以先输出改sql,然后再mssql忠执行是否成功。
      

  3.   

    是不是部门很多时,传递到数据库执行的SQL语句,超出了最大长度了。用openquery 或者用exec执行那么就会出错。