> Apex中文手册 > SOQL循环

SOQL循环

当我们不想创建List并直接遍历SOQL查询的返回记录集时,将使用此类型的for循环。 我们将在下一章更深入地研究SOQL查询。 现在,只记得它返回的记录和字段的列表在查询中给出。

语法:
for (variable : [soql_query]) { code_block }
或者:
for (variable_list : [soql_query]) { code_block }
这里要注意的一点是,variable_list或变量应该始终与Query返回的记录具有相同的类型。 在我们的示例中,它与APEX_Invoice_c的类型相同。

流程图:

SOQL循环

示例:  
我们的For循环示例使用SOQL for循环。
//The same previous example using For SOQL Loop
List<apex_invoice__c> PaidInvoiceNumberList = new List<apex_invoice__c>();//initializing the custom object records list to store the Invoice Records
List<string> InvoiceNumberList = new List<string>();//List to store the Invoice Number of Paid invoices
for (APEX_Invoice__c objInvoice: [SELECT Id,Name, APEX_Status__c FROM APEX_Invoice__c  WHERE CreatedDate = today]) {//this loop will iterate and will process the each record returned by the Query
	if (objInvoice.APEX_Status__c == 'Paid') {//Condition to check the current record in context values
		System.debug('Value of Current Record on which Loop is iterating is '+objInvoice);//current record on which loop is iterating
		InvoiceNumberList.add(objInvoice.Name);//if Status value is paid then it will the invoice number into List of String
	}
}
System.debug('Value of InvoiceNumberList with Invoice Name :'+InvoiceNumberList);
                      
上一篇:
下一篇: