0
我已經創建了更新後觸發以下,但我無法把它保存,我不太undetstand爲什麼它不工作Salesforce的更新後觸發
trigger Adhoc_Approval_process_trigger on Ad_Hoc_Approval__c (after update) {
list<Ad_Hoc_Approval__c> ladh= new list<Ad_Hoc_Approval__c>();
list<Ad_Hoc_Approval__c> query=[select Status__c,Submitted_for_Approval_Date__c from Ad_Hoc_Approval__c];
for(Ad_Hoc_Approval__c adh : query)
{
if(adh.Status__c =='Submitted for Approval')
{
adh.Submitted_for_Approval_Date__c=Date.today();
ladh.add(adh);
}
}
update ladh;
}
我也它轉換成更新觸發之前,它的做工精細,任何人都可以請幫助我瞭解爲什麼,
trigger Adhoc_Approval_process_trigger on Ad_Hoc_Approval__c (before update) {
for(Ad_Hoc_Approval__c adh : trigger.new)
{
if(adh.Status__c =='Submitted for Approval')
{
adh.Submitted_for_Approval_Date__c=Date.today();
}
}
}
非常感謝
感謝您的迴應,如果我錯了,請糾正我,您不能在同一對象的後觸發器中使用更新DML,但是如果DML更新其他對象,我們應該很好,正確嗎? – Sam
通常情況下,您無法獲得「無法鎖定行」錯誤。如果你真的需要它,那麼有一個竅門,但是確保它不會進入無限循環並最終因違反州長限制而終止是你的工作。但是你可以自由地插入,更新,刪除不在'trigger.new'範圍內的任何其他對象。 – eyescream
現在有道理,非常感謝 – Sam