trigger.new and trigger.old

本文展示了一个简单的Salesforce触发器示例,其中包括创建账户记录并更新账户名称的过程。通过Apex代码实现了账户的保存与修改操作,并在更新后触发相应的触发器进行日志记录。

public  class testAccountTrigger {

 public void save() {
  
  Account a = new Account() ;
  a.name = 'zhangchao' ;
  insert a ;
  
 }
 
 public void modify() {
  
  Account[] a = [select name from Account where name='zhangchao'] ;
  for (Account aa : a) {
   aa.name = 'samba' ;
  }
  
  update a ;
  
 }
}

 

 

trigger testAccountUpateTrigger on Account (after update) {

 for(Account a : trigger.new) {
  System.debug('update.a.:::name::new=' + a.name) ;
 }
 
 for (Account a :trigger.old){
  System.debug('update.a.:::name::old=' + a.name) ;
 }
}

DROP TRIGGER IF EXISTS TRI_TB_PRO_Sample_InspectedEnt; delimiter $$ CREATE TRIGGER TRI_TB_PRO_Sample_InspectedEnt BEFORE UPDATE ON TB_PRO_Sample FOR EACH ROW BEGIN DECLARE var_inspectedEntId VARCHAR ( 50 ); DECLARE var_inspectedEnt VARCHAR ( 255 ); IF NEW.inspectedEntId <> OLD.inspectedEntId THEN-- 质控样 -- IF old.projectId = '00000000-0000-0000-0000-000000000000' AND old.qcId <> '00000000-0000-0000-0000-000000000000' THEN SELECT p.inspectedEntId, p.inspectedEnt INTO var_inspectedEntId, var_inspectedEnt FROM TB_PRO_Sample r, TB_PRO_Project p, TB_LIM_ProjectType t, TB_PRO_QualityControl c WHERE r.isDeleted = 0 AND c.id = old.qcId AND c.associateSampleId = r.id AND p.isDeleted = 0 AND p.id = r.projectId AND t.isDeleted = 0 AND p.projectTypeId = t.id AND t.mark <> 'S'; END IF;-- 加原样 -- IF old.projectId = '00000000-0000-0000-0000-000000000000' AND old.qcId = '00000000-0000-0000-0000-000000000000' AND old.sampleCategory = 3 THEN SELECT p.inspectedEntId, p.inspectedEnt INTO var_inspectedEntId, var_inspectedEnt FROM TB_PRO_Sample r, TB_PRO_Project p, TB_LIM_ProjectType t WHERE r.isDeleted = 0 AND old.associateSampleId = r.id AND p.isDeleted = 0 AND p.id = r.projectId AND t.isDeleted = 0 AND p.projectTypeId = t.id AND t.mark <> 'S'; END IF;-- 原样 -- IF old.projectId <> '00000000-0000-0000-0000-000000000000' THEN SELECT p.inspectedEntId, p.inspectedEnt INTO var_inspectedEntId, var_inspectedEnt FROM TB_PRO_Project p, TB_LIM_ProjectType t WHERE p.isDeleted = 0 AND p.id = old.projectId AND t.isDeleted = 0 AND p.projectTypeId = t.id AND t.mark <> 'S'; END IF; SET new.inspectedEntId = var_inspectedEntId; SET new.inspectedEnt = var_inspectedEnt; END IF; END $$ delimiter ;这个脚本如果换成达梦数据库执行,应该怎么改。
最新发布
08-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值