動的SOQLとは?
動的 SOQL は、Apex コードを使用して、実行時に SOQL 文字列の作成を参照します。動的 SOQL によって、さらに柔軟なアプリケーションの作成が可能になります。たとえば、エンドユーザの入力に基づいた検索を作成したり、さまざまな項目名のレコードを更新したりできます。
動的 SOQL
テストデータ

テストコード
test.cls
// パラメータから取得してきた値から条件分岐することを想定
String flag = '1';
String selectPart = 'SELECT Id, Name, Rating ';
String fromPart = 'FROM Account ';
String wherePart = 'WHERE ';
if(flag == '1'){
wherePart += 'Rating = \'' + 'Hot' + '\'';
}else{
wherePart += 'Rating = \'' + 'Cold' + '\'';
}
String soql = selectPart + fromPart + wherePart;
System.Debug('★★ 変数 soql : ' + soql);
List<Account> accList = Database.query(soql);
for(Account acc : accList){
System.Debug('★★ 変数 acc : ' + acc);
}
実行結果
