簡體   English   中英

刪除arraykey中所有行的最佳方法是什么?

[英]What is best way to delete all rows within an arraykey?

我有一個實體聯系人,它有一個數組實體 Specialties。 只是標准的一對多關系。 一接觸多專業。 (專業實體的列很少,可能不相關)。 我有一個屏幕可以將專業列表添加到 PCF 上的聯系人。 我想在聯系人屏幕上添加一個自定義的全部刪除按鈕,該按鈕將刪除數組中針對特定聯系人的所有值。 一個聯系人可以有大量的專業 (~10000) 刪除數組中所有元素的最佳方法是什么?

目前,我在按鈕的 action 屬性上有以下 function ,它正在計時和超時。

for(spec in contact.Specialties) 
{contact.removeFromSpecialties(spec) //OOTB remove from array method}

從數組實體中刪除約 10000 條記錄還有其他更好的方法嗎?

根據您上面的問題,我假設您將在 PCF 屏幕中有一個“全部刪除”按鈕,其中包含刪除與該特定聯系人關聯的所有專業記錄的操作,但您不會刪除部分記錄(如一條或幾條記錄)。

我還假設“專業”實體的實體類型是“可編輯”或“可退休”。

牢記上述假設,您可以創建一個新的 function 並從“全部刪除”按鈕操作屬性中調用該 function。

下面給出的代碼將硬刪除數據庫表中的所有記錄,就像您對數據庫表執行刪除查詢一樣,

function removeAllSpecialitiesForContact(contactFromPCF : Contact){
 
  var specialityQuery = Query.make(entity.Speciality).compare(Speciality#Contact, Equals, contactFromPCF.ID)      
  var deleteBuilder = new com.guidewire.pl.system.database.query.DeleteBuilder.DeleteBuilder(specialityQuery)
  deleteBuilder.execute() 
 
}

正如您已經面臨的那樣,這種新方法在 PCF 操作后可能不會超時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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