簡體   English   中英

如何從Apex中的觸發器更新類變量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM