Querying All Records — ALL ROWS

DEX455 - Apex SOQL 与 SOSL 查询完全指南

📄 第 191 页 🎬 视频课程

课程章节介绍

好,同学们,我们来看一下SOQL查询里一个很实用的关键字——,ALL ROWS,。 平时我们查数据,默认查到的都是没有被删除的记录,就像我们只看到办公桌上还放着的文件。但是有时候,一些记录被误删了,或者领导想看回收站里的东西,怎么办?这时候你就可以在SOQL语句里加上,ALL ROWS,这个关键字。 它的作用就是告诉Salesforce:“请把所有记录都给我查出来,,包括已经删掉的、还在回收站里的,以及那些已存档的活动,。” 这样一来,哪怕一条客户记录被删了一个月,只要还在回收站里,用ALL ROWS就能看到。 不过要注意,ALL ROWS有个限制——,你不能同时用FOR GROUP,。这两个关键字不能一起出现,就像水和火没法共存。记住这一点就行了。 另外,还有一个特别有用的“隐藏福利”:平时我们写WHERE条件时,整个WHERE子句的字符串长度不能超过4000个字符,不然会报错。但是,如果你的WHERE条件里用了,IN操作符,来传一组值,比如 `WHERE Id IN :idList`,那么这个4000字符的限制在Apex代码中就不适用了。也就是说,你能往列表里塞很多很多值,不用担心超过了长度。这对批量查询特别友好。 所以简单总结就是: - 想看回收站里的数据?用,ALL ROWS,。 - ALL ROWS ,不能和, FOR GROUP 一起用。 - WHERE里用了 ,IN,,那4000字符的限制就不再是限制了。 好,这一页的内容就这些,大家理解了吗?

关键词

Apex Salesforce Developer Guide