SOQL Statements — Lists, Singles & COUNT

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

📄 第 179 页 🎬 视频课程

课程章节介绍

同学们,咱们现在来看这一页关于SOQL查询结果的知识点。这页内容不多,但里面有几个关键地方,第一次接触很容易混淆,我一条一条帮大家理清楚。 首先,当我们写了一个SOQL查询语句,它执行完之后到底会返回什么?其实会有三种情况。第一种,返回的是一个,sObject列表,,也就是多条记录,比如 `List`,这是我们最常见的情况。第二种,如果你用了 `LIMIT 1` 或者在赋值的时候明确只要一条记录,它也可以直接返回一个,单个的sObject对象,。第三种情况比较特殊,当你使用 `COUNT()` 这种计数查询时,它的结果就不再是对象了,而是一个,整数,,表示符合条件的有多少条记录。对,这里原文中的“收件箱”那个词其实是个翻译错误,说的就是这个整数。 那么,我们拿到查询结果之后能做什么呢?很常用的一个场景就是,,根据查出来的记录去创建一个全新的对象,。比如,你查到了一个联系人的信息,想把它当成模板去新建一个客户,思路是没错,但要注意:当你用这种办法创建出新对象的时候,这个新对象里的大部分字段是空的,并不是自动把原先的字段值都复制过来了。所以你在真正把这条新记录插入到数据库之前,一定要记得先把那些必须要填的字段设置好。这里提到的“TLR之前设置”,其实指的就是在做插入这类DML操作之前,得先搞定这些字段的值,不然系统会报错。 接着说怎么获取查询的记录条数。如果查询返回的是一个列表,你可以直接在这个列表上调用 `.size()` 方法,就能知道查到了几条记录。要是你用的是 `COUNT()` 查询,那更直接,返回的就是一个数字,你还可以拿这个数字去做加减乘除,完成一些统计计算。 最后还有一个务实的提醒:,SOQL是有执行限制的,。比如一次查询最多返回的记录数,它是有上限的,所以写查询的时候要心里有数,避免碰上“查询返回行数过多”这种报错。至于更完整的SOQL语法细节,就不在这一页里展开了,大家需要时可以去查阅官方那本《Salesforce SOQL和SOSL参考指南》。 怎么样,这样拆开来看是不是挺清晰的?好,这一页我们就先讲到这里。

关键词

Apex Salesforce Developer Guide