У меня есть следующий запрос, который я выполняю для получения записей, где Order_Exported_to_A = False, и я хочу обновить это поле до True после извлечения этой записи.

SELECT Name, SVMXC__Destination_Location__r.Account_Number__c, SVMXC__Destination_Location__r.A_Ship_to__c, Customer_PO__c, (SELECT Product_Code__c, SVMXC__Expected_Quantity2__c, Line_Cost__c, SVMXC__Line_Price2__c FROM SVMXC__RMA_Shipment_Line__r) FROM SVMXC__RMA_Shipment_Order__c WHERE Order_Exported_to_A__c=false and SVMXC__Order_Status__c='Open' ORDER BY Name

Итак, я хочу включить обновление, что-то вроде: UPDATE SVMXC__RMA_Shipment_Order__c SET Order_Exported_to_A__c=True . Как я могу выполнить обновление или я могу выполнить это в запросе выбора?

0
AlliDeacon 4 Июн 2018 в 17:41
Комментарии не для расширенного обсуждения; этот разговор был перемещен в чат.
 – 
Adrian Larson
4 Июн 2018 в 16:45
Просто обратите внимание на формат, это сайт Вопросов и ответов. Вы опубликовали Question, но ничего не спросили. Пожалуйста, всегда включайте в свои сообщения Question хотя бы одно предложение, которое заканчивается знаком вопроса. И «Кто-нибудь может мне помочь?» не считается, это просто принесет вам отрицательные голоса. Подумайте в духе «Как мне…?»
 – 
Adrian Larson
4 Июн 2018 в 16:47
Я обновил, надеюсь, это проясняет то, о чем я спрашиваю :) Спасибо за руководство.
 – 
AlliDeacon
4 Июн 2018 в 17:37

1 ответ

Лучший ответ

SOQL — это язык запросов. Он не поддерживает операции, кроме чтения. Если вы хотите выполнить другие операции CRUD, вам нужно будет сделать другие вызовы. В Apex это будет выглядеть так:

List<MyObject__c> records = [SELECT ... FROM MyObject__c WHERE ...];
for (MyObject__c record : records)
{
    // set some fields
}
update records;

Это был бы аналогичный процесс, если бы вы попытались сделать то же самое из внешней службы.

3
Adrian Larson 4 Июн 2018 в 17:45