apex中给字段添加前缀的问题

题目:写一个trigger 作用在Position__c 这个object上, 每当有输入insert or update的时候, 检查Position Title这个字段的值是否以“ITB-”开头, 如果不是, 给值加上“ITB-”前缀。

用java所学的知识可以这样来解决:

 

1 trigger PositionTrigger on Position__c (before insert,before update) {
2 if(Trigger.isInsert||Trigger.isUpdate){
3         for(Position__c p : Trigger.new){        
4         if(substr(p.name,1,4)<>'ITB'){
5         p.name='ITB-'+p.name;
6          }
7           }
8         }
9     }

 

但是在apex trigger中,通过上面的方法是解决不了我想要的问题的,所以,我们要寻找另外一种方法来解决,通过查阅相关文档,可以得到如下语句:

trigger PositionTrigger on Position__c (before insert,before update) {
if(Trigger.isInsert||Trigger.isUpdate){
        for(Position__c p : Trigger.new){
                  if(!p.name.startsWith('ITB-')){
                    p.name='ITB-'+p.name;
               }
          }
        }
    }

原來可以通过startsWith方法来得到想要的结果,困惑几天的问题,通过该方法,就这么轻松的解决了

posted @ 2014-04-08 17:28  老衲~  阅读(779)  评论(0)    收藏  举报