zoukankan      html  css  js  c++  java
  • SFDC 复合主键的一般实现方法

    我们都知道,Salesforce的每个Record都是只能一个主键ID,并且ID是添加时自动生成的。 并且这个ID很特殊,Salesforce通过算法,可以通过这个ID能知道这条记录是哪个Object的记录。 这个以后我们再讨论。 今天我主要想跟大家讲一下,如何在Salesforce里实现多个字段共同达成唯一索引。 Salesforce本身 Text字段是支持 Unique设置的

     但是不支持多个字段共同Unique。

    解决方案

    1. 在Object中添加一个Text字段,勾选Unique设置的字段,Label,API参照名任意
    2. (可选)在Object中添加一个Formula(Text)字段,公式为想要实现复合Unique的字段用文本拼接,Label,API参照名任意
    3. 在创建时用Workflow Rule ,Process Builder,Flow Builder(Record Trigger),Apex Trigger(before insert)其中一种工具
    4. 将Formula(Text)字段的值(没添加的话就在这里拼接) 赋值 到 第一步创建的 Unique字段上即可

    这样就可以在添加记录时 实现类似复合字段Unique索引的效果

    例子,这里的支部Code(BranchCode__c)和年月(YearMonth__c) 两个共同构成主键,也就是要求支部Code(BranchCode__c)和年月(YearMonth__c)在Object里不能重复

    我用 PK_Formula 字段来存放 支部Code(BranchCode__c)和年月(YearMonth__c) 拼接在一起后的值

    BranchCode__c & YearMonth__c
    

     

    支部コード-年月 是我设定的Unique Text字段

    在添加时,我利用Process Builder,将 PK_Formula 字段的值赋值到 支部コード-年月 字段上

    当我尝试登录一条同样支部Code和年月的记录时

     Error发生了,也没有保存成功。

  • 相关阅读:
    UVA 12338
    最短路问题
    菜鸟调错(十)——启动Tomcat报错“Unsupported major.minor version xxx ”
    Servlet总结(一)
    <html>
    Android Developer:Allocation Tracker演示
    H2数据库集群
    安卓通过广播自己主动回填短信验证码
    江湖问题研究-- intent传递有没有限制大小,是多少?
    spring 配置文件被加载两次
  • 原文地址:https://www.cnblogs.com/paynev/p/14308532.html
Copyright © 2011-2022 走看看