[英]Do I need an Apex Class or just a Trigger in order to update a lookup field in Salesforce?
[英]How do I update a class variable from a trigger in Apex?
我已經聲明了帶有公共變量LPAssign的類。 我希望初始值為1,然后在每次運行觸發器時都會對其進行更新。
這是我的課:
public class LP {
public static integer LPAssign;
static{
LPAssign = 1;
}
}
我的觸發器中的代碼執行以下操作:
if LPAssign = 1, do several things, then update LPAssign =2.
if LPAssign = 2, do several things, then update LPAssign =3.
if LPAssign = 3, do several things, then update LPAssign =4.
if LPAssign = 4, do several things, then update LPAssign =1.
在觸發器中,我將LPAssign傳遞給一個隨機字段,以查看它是否已更改為2(確實如此),但隨后我的公共類將值重置為1。我認為該類的“靜態”部分僅初始化一次。
靜態變量僅對一個執行線程而言是靜態的,因此,如果要通過前端更新記錄,然后在該線程第二次完成時第二次更新記錄,則變量將回到1。
如果需要在執行線程之間存儲值,則最好將其存儲在對象的字段中-鑒於平台的速度和擴展的調控器限制了這些日子,這實際上並不會給您帶來麻煩!
除此之外,如果您在一個線程中多次運行觸發器,那么您應該可以訪問公共靜態成員而不會出現問題,我自己做,可以停止級聯觸發器等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.