引出标准凭证,一旦引出的数量过多就会报错
金蝶云社区-二次开发刘玉
二次开发刘玉
0人赞赏了该文章 449次浏览 未经作者许可,禁止转载编辑于2019年01月16日 10:56:52

引出标准凭证,一旦引出的数量过多就会报错

跟踪到的语句(原始语句内容太多,做了省略)SELECT distinct e.FDetailID,' ' as FItemNum INTO VoucherDetailID FROM (select * from t_Voucher union all select * from t_VoucherBlankOut ) v INNER JOIN t_VoucherEntry e ON v.FVoucherID=e.FVoucherID WHERE 1=1 And v.FVoucherID in
(21938,20918,20919,20920,21009,21010,21011,21012,21013,21014,21015,21016,21017,21018,21019,21020,21021,21022,21023,21024,21025,22000,22965,22966,22967,23108,23109,20921,20922,20923,20924,20925,20926,20927,20928,20929,20930,20931,20932,20933,20934,20935,20936,20937,21026,21027,21028,21029,21030,21031,21032,21033,21034,..........)

消息 8623,级别 16,状态 1,第 1 行
查询处理器用尽了内部资源,无法生成查询计划。这种情况很少出现,只有在查询极其复杂或引用了大量表或分区时才会出现。请简化查询。如果您认为该消息的出现纯属错误,请与客户支持服务部门联系,了解详细信息。

经百度查询,这个是因为SQL写的有问题导致的(in 中的内容太多),建议更改为临时表再用exists处理

可参考 https://www.cnblogs.com/zhaobl/archive/2013/05/21/3091142.html