代码被托管在 Salesforce 服务器,执行与数据库、对象模型、权限体系深度耦合,整个生命周期由平台治理,并受一组所谓的 Governor Limits 约束,例如单个事务内 SOQL 语句的数量、...与 SQL 打交道时,Apex 使用两套查询语言:SOQL 与 SOSL。...SOQL 的语义与 SQL 的 SELECT 接近,但针对 Salesforce 对象模型定制;SOSL 则面向全文检索与跨对象搜索。...SOQL 的 SELECT ... FROM ... WHERE ... 思路与 SQL 相近,语法却与对象模型绑定,包含关系查询、聚合、子查询、选择性过滤等;SOSL 用于跨对象的全文检索。...语言层面提供熟悉的面向对象与注解模型;运行时层面与 Salesforce 的对象、权限、审计、自动化、集成栈紧密耦合。
image.png 使用过Oracle或者Sql Server的朋友们都知道,语句【SELECT * FROM 表】可以查询整个表的项目,之前Salesforce是不支持此功能的,只能每个项目都写一遍...,非常麻烦,随着2021年2月14日,Spring '21的正式上线,此类功能终于可以使用了,它就是今天要介绍的SOQL FIELDS()方法,前提是当前用户对于取得项目必须具备参照权限, 具体有以下三种方式...image.png image.png 实行结果: 「The SOQL FIELDS function is not supported with an unbounded set of fields...in this API. 」 4.Apex内全项目查询方法 根据上边的实验结果,想必大家有点失望,在Apex内居然只可以使用FIELDS(STANDARD),如果把所有自定义项目都写一遍,即麻烦,看着也不美观...首先做一个Apex共通类,用于取得指定Object的全部自定义项目,然后进行查询操作,如下 public with sharing class GetAllCustomFieldsUtil {
本篇参考:https://developer.salesforce.com/docs/atlas.en-us.salesforce_large_data_volumes_bp.meta/salesforce_large_data_volumes_bp...又比如我们想在vf page中SOQL进行查询,并且查询的SOQL字段没有查询关联表,只是当前表的常用字段。出现了性能问题,想要优化。...他们可以针对 Report / ListView / SOQL进行性能优化。...Skinny Table不包含soft-deleted的数据,比如不包含在回收站的数据,即使SOQL设置 isDeleted=true在 Skinny Table无法查询出来。 2....Skinny Table 不能跨表创建字段。比如 针对 Opportunity创建了 Skinny Table,无法创建关联到 Account的字段,即只能当前表创建字段.
我们在做项目得时候,通常会有需求是根据很多入力条件进行SOQL查询,然后展示 List。...这里有4个值: Index:当前查询的对象使用索引进行查询; Sharing:当前的查询将会使用索引进行查询。当前的索引基于当前执行SQL的人的共享规则来决定的。...如果有 sharing rule限制了user可以访问的记录情况下,salesforce可以根据这些共享规则去进行优化; TableScan:当前的查询方式为查询当前表的所有数据; Other:salesforce...sObject Cardinality:查询当前对象大概的记录数; sObject Type:当前查询表的 object的名字。 以上的就是关于查询的Plan表的各个列的名词解释。...Index(索引) 索引这个概念不止针对salesforce的SOQL,其他的类似SQL server以及 Oracle都有索引的概念,查询的filter中通过索引字段可以加快查询的速度。
我们使用SOQL / SOSL 进行搜索,熟知他们的各种limitation,查询50000,DML 10000等等。...说完创建和删除接下来说查询。big object支持两种查询,同步 SOQL以及异步的SOQL。...如果 可以确定查询出来的数据量少想要在 apex中使用,我们可以使用SOQL进行查询,但是不是所有的SOQL语法可以使用。...异步SOQL以及在report / dashboard使用自行查看上方文档。 三. Big Object 限制 由于大对象的运行规模很大,它们不能完全像非大对象那样工作。...SOQL关系查询基于从选择字段列表中的大对象到标准或自定义对象的查找字段(不在过滤器或子查询中)。
当我想查询或者操作Student表数据时,可以通过Student__c对象操作。...图8 二)SOQL SOQL全称为Salesforce Object Query Language.通过SOQL语句可以操作sObject的增删改查等操作。下面还是以上面Student表进行举例。...SOQL语句细节以及多表关联的查询等操作。...Integer studentsCount = Database.countQuery(countQuery); 注意:salesforce对查询记录条数以及DML操作次数均有严格的限制:查询条数一次不能超过...下一篇将会讲解多表关联下的SOQL以及SOQL查询深入知识。
在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己另外设计...在上述查询中,如果需要查到具体的内容,只需在result.get('相关的别名名称')即可获取到值,eg:result.get('goodsPriceTotal')即可获得当前记录的商品总价格。...日期相关处理函数 在数据查询中,我们很多时候需要通过日期进行数据过滤。这时,使用soql的函数或者常量操作会更加便捷。...还有很多常用的函数,详细看API 三.日期处理常用常量 数据查询中,有的时候使用常量会减少很多的参数传递,比如想要查CreatedDate为本年的数据,如果不适用SOQL自带的常量,则sql查询时,便需要...常用常量如下所示: YESTERDAY: 昨天 select Id from Account where CreatedDate = YESTERDAY -->查询创建日期为昨天的Account记录
首先先说一下 salesforce中的 heap size简单概念, salesforce中的heap size和java中的heap size概念基本相同,当对象或者变量创建时,就会给分配内存,当运行时基于逻辑动态分配内存...在debug log中通过HEAP_ALLOCATE来确定对象或者变量的分配内存的情况。...使用SOQL for loop从大量查询的数据中迭代和处理数据,官方也介绍了很多的 SOQL for loop的demo。...开发人员可以通过使用SOQL for loop处理返回多条记录的查询结果来避免堆大小的限制。...除了官方上面的链接介绍以外,也可以看一下下面的邱老板的demo https://blog.keal.us/salesforce/soql-for-loop%e7%9a%84%e6%95%88%e7%8e
Who.Type样新建公式字段WhatType__c,这样就能正确获取对象类型 155、【查询Activity (Task / Event)的Email,Phone】:SOQL Polymorphism...这两个对象不支持单独查询,必须使用父查子的方式才能查询:示例如下: 128、【Send Notification when Task Created From Apex】:DmlOptions.EmailHeader...83、【字段历史跟踪Field History Track父对象子查询格式】: Example:比如我们想查询Account及相关的AccountHistory,格式如下: SELECT Id, Name...】: 我们知道标准对象和自定义对象都有相应的History对象用于存储字段历史跟踪,那么在做动态查询时是有差异的。...: a、尽量使用Order By,保证查询结果的稳定性; b、使用LIMIT,防止数据量超过50000而报错; c、使用Offset偏移时,一定放在该查询语句的最后面,其限制及应用场景见:Salesforce
六、基于对象的跨表查询 正向与反向查询 关键在于ForeignKey字段写的位置。...例如下面这段代码, 关系属性(字段)写在哪个类(表)里面,从当前类(表)的数据去查询它关联类(表)的数据叫做正向查询,反之叫做反向查询 Publish查询Book的内容就是反向查询 Book查询Publish...正向查询 正向查询靠对象,取到数据对象后,通过点操作符对外键操作,就能拿到外键的对象,从而取到内容 author_obj = models.Author.objects.filter(name='admin...').first() result = author_obj.authorDetail.telephone 反向查询 查到对象后,通过小写的表名来获取另一个表的属性 author_detail_obj...与一对一较为类似 book_obj = models.Book.objects.get(title='第二本书') result = book_obj.publishs.name 反向查询 注意对象调用的是加
技术的更迭是有加速度的,特别是Salesforce作为SaaS领域的标杆,更是保持着每年发布3次release的速度。Spring 20' 的新功能太多,打算看一些,记一些!...DeleteEvent可与支持回收站的所有标准对象和自定义对象一起使用。这对开发人员有很大帮助。因为以前,必须使用SOQL来利用ALL ROWS,并且要使用isDeleted属性。...TRUE ALL ROWS]; system.debug(‘deletedAccounts is: ‘ + deletedAccounts); 但是,根据此处的文档,ALL ROWS只能在Apex SOQL...查询中使用。...另外,不能在开发者控制台的查询编辑器中使用它。 因此,拥有一个新的sObject来专门查询已删除的记录将更加容易、快捷。
数据存储在对象的记录中,对应的是数据库中的行。 有两种类型的对象 标准对象——这些是Salesforce中默认存在的对象,默认情况下,这些标准对象用于存储如客户,联系人或业务机会等数据。...自定义对象—可自定义创建去存储其他类型的数据。自定义对象拓展了标准对象的功能。例如,如果你想创建一个应用去跟踪库存,你可以创建叫Merchandise 和Invoice的两个自定义对象。...这个标识字段通常是由15个区分大小写的字符组成,你可能在使用Salesforce的时候已经发现。...例如,当你进入到一个记录的详细页面后,URL会以如下形式展示 1 https://na3.salesforce.com/0015000000Gv7qJ 这里,0015000000Gv7qJ就是这条记录的标识...你可以定义两种类型关系字段: Lookup——他可以创建一个关系将一个对象关联到另一个对象上。关系字段允许你从一个对象的记录中导航到另一个关联对象的记录中。
外部对象与自定义对象类似,只是它们映射到Salesforce组织外部的数据。Salesforce Connect使用到外部数据的实时连接来始终保持外部对象的最新状态。...访问外部对象从外部系统实时获取数据。Salesforce Connect允许您: •查询外部系统中的数据。 •在外部系统中创建、更新和删除数据。...•跨组织适配器-连接到存储在另一个Salesforce组织中的数据。跨组织适配器使用标准的Lightning Platform REST API。...与OData不同,跨组织适配器直接连接到另一个组织,而不需要中间web服务。...外部对象也可用于Apex、SOSL、SOQL查询、salesforceapi,以及通过元数据API、变更集和包进行部署。
每个事务是针对单个Salesforce对象还是针对多个相关对象进行操作? 消息的格式是什么(例如,通过HTTP的SOAP或REST,或两者)? 消息大小是相对较小还是较大?...不可能跨多个API调用跨事务。为了克服这个限制,一个API调用可以影响多个对象。...REST API Best Salesforce提供了一个标准的REST API,远程系统可以使用该API: –发布事件以通知您的Salesforce组织 –查询组织中的数据 –创建、更新和删除数据...流程草图 下图说明了在使用RESTAPI(用于外部事件的通知)或SOAP API(用于查询Salesforce对象)实现此模式时的事件序列。使用restapi时,事件的顺序是相同的。...的查询有一个独立的120秒的限制。
-22/learn-whats-new-for-platform-developers-22 我们都知道salesforce里面 custom setting的使用方法,不了解的小伙伴可以开启时空门:salesforce...System.debug(LoggingLevel.INFO, '***after Limits.getQueryRows(): ' + Limits.getQueryRows()); 使用这种方式是需要消耗SOQL...的查询数量的,所以我们在实际使用时,偶尔还是会考虑取舍,使用 list custom setting而不是 custom metadat type。...针对新的release出来以后,custom metadata同样也支持了类似 custom setting的查询方式,这种既不计算了SOQL的查询数,也使得结果获取更快。...当然,salesforce每一期的release都惊喜不断,大家也要多关注关注 release note哦,有用的内容找机会可以慢慢的更新一下用法。
本篇参考: https://help.salesforce.com/articleView?.../docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_apexgov.htm...一个transcation中SOQL查询回来的数量最多50000条啊,DML最多10000条啊等等。新人肯定很努力的记住相关的关键字, SOQL 搜索50000,DML 10000。...业务允许探索一下SOQL聚合的用法,这个很好理解,因为SOQL查询时间不计算在CPU limitation里面。...salesforce提供了一些聚合函数等,比如我们场景需要这些,我们可以直接通过SOQL进行聚合,而不是搜索出来以后列表进行处理。 4.
五、SOQL 与关系 Relationships SOQL 是 Salesforce Object Query Language 的简称,具有 SQL 类似的语法结构,就像前面提到的一样,Salesforce...是以应用对象(Salesforce Object,简称 SObject)的视角管理业务数据和功能,SOQL 类似对用于对应有对象数据进行查询的 API。...1、从SQL 到 SOQL SOQL 也是采用类似表查询的结构,同 SQL 非常相似,也通过底层数据库索引来提供查询优化支撑。...3、Relationships 索引透视表 Relationships 是为了 SOQL 的快速对象关联查询所定义的,子对象关联父对象( Child to Parent) 查询,复合索引(OrgID+GUID...根据定义,每一个 SOQL 的查询对应一个特别的租户信息,因此查询优化器,仅仅需要考虑访问包含对应租户的数据分区访问,而不是整个表或者索引。
本篇参考: https://developer.salesforce.com/docs/platform/lwc/guide/reference-graphql.html https://developer.salesforce.com.../docs/platform/lwc/guide/reference-refreshgraphql.html https://developer.salesforce.com/docs/platform.../documentation 背景:想象一下我们以前做项目如果需要一个搜索功能的时候,比如搜索Account列表数据,查询条件可以基于Owner或者某个自定义的lookup字段进行查询时,我们通常要如何设计...lte Less than or equal gte Greater than or equal like 和soql中的用法相同 in 和soql中的IN用法相同 nin 和soql中的Not IN用法相同...inq 元素在一个query集中,和soql的 in子查询相同 ninq 元素不在一个query集中,和soql的not in 子查询相同 includes multi picklist包含某个值 excludes
文件中,要么放在 “process-conf.xml文件中” 错误 2: 查询错误...: query is empty 解决方法: Occurs, If “sfdc.extractionSOQL” key in beans node does not have valid SOQL....You can use the Data Loader GUI to generate the SOQL statement and conditions and simply cut and paste...entry key="sfdc.extractionRequestSize" value="500"/>Batch size for extract processes only This is the SOQL...You can use the Data Loader GUI to generate the SOQL statement and conditions and simply cut and paste