温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Salesforce中如何使用DML语句来完成数据的修改

发布时间:2022-03-25 16:30:35 来源:亿速云 阅读:206 作者:iii 栏目:云计算

本篇内容介绍了“Salesforce中如何使用DML语句来完成数据的修改”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一 . DML语句

DML是为了执行插入,更新,删除,上升,恢复记录,合并记录或转换引线操作而执行的动作。
DML是Apex中最重要的部分之一,因为几乎每个业务案例都涉及对数据库的更改和修改

SOQL全称为Salesforce Object Query Language.通过SOQL语句可以操作sObject的增删改查等操作。

例子 : 

下面还是以上面Student表进行举例。

Student表的API Name 为Student__c,所以在apex中,只要对Student__c对象进行相应的DML操作,即为对Student数据表操作

注意 : apex代码通过操作表以及列对应的API Name来对表进行增删改查操作处理. 

/*sObject有常用的两种初始化方式,第一种为常见的new
   第二种为new时将参数作为构造函数内容穿进去,多个参数使用','分隔   
*/
Student__c student1 = new Student(Name__c='student1');
Student__c student2 = new Student();
student2.Name__c = 'student2';
 
//增加一条学生记录--> insert
insert student1;//SOQL 增加记录的简便写法,同Database.insert(student1),详见文档
insert student2;
//修改一条学生记录--> update
student1.Name__c = 'student update';
update student1;//SOQL修改记录简便写法,同Database.update(student1)
 
/*增加或修改一条学生记录 upsert
upsert原理:upsert通过是否存在此ID来判断此条记录是否存在,
1.如果不存在此ID则执行insert操作;
2.如果存在并且只存在一个ID,则执行update操作;
3.存在并且存在多个ID,则抛出DMLException
*/
//当上方执行insert语句时,Id便赋予student1,所以下方代码执行update操作
student1.Name__c = 'student upsert';
upsert student1;//SOQL简便写法,同Database.upsert(student1);
 
//删除一条学生记录 delete
delete student2;//SOQL简便写法,同Database.delete(student2);
 
注意:进行DML 操作时有可能发生DMLException,所以在进行DML操作时最好进行try,catch处理。
eg:
try {
      insert student1;
} catch(DMLException e) {
      // TODO
} finally {
      // TODO
}

查询语句返回List<sObject>数据,查询语句也可以进行相应的复杂处理,例如进行where查询,include,exclude,limit等等操作,此部分内容太多,此篇只讲述最基本的查询操作,以后篇会详细探讨SOQL语句细节以及多表关联的查询等操作。

where语句中经常伴随着参数传递,比如查询学生表中姓名为zhangsan的个数等,如果采用拼串很容易造成错误,并且代码不易阅读。Apex提供了一种便捷的方式,使用 ':' 符号来声明查询语句中使用的变量,类似于Java中的PreparedStatement。

查询有两种方式,一种为通过[select ...]方式来进行查询,此种方式不利于SQL语句的拓展,故不推荐此种方式;

第二种方式为通过构造查询字符串,通过Database.query(queryString)方法来检索数据,此种方式灵活性扩展性强,推荐此种方式。

另外注意的是:在Force.com平台数据库中,查询不能使用'*'符号代表查询全部字段,如果查询全部字段需要全部列出来。

“Salesforce中如何使用DML语句来完成数据的修改”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI