MENU
Abo
某SIer勤務。
ITエンジニアです。
日々の学びをつらつらと書いています。
保有資格:
Salesforce認定アドミニストレーター  
Salesforce認定Platformデベロッパー
Salesforce認定上級Platformデベロッパー
カテゴリー
アーカイブ

【Salesforce】SOQLでのバインド変数利用

SOQLで条件句を作成する際によくハマっていたことがあります。

以下のようなクエリを作成して何回システムに怒られたことか。。。

String str= 'テスト';
List<Account> accList= [SELECT Id, Name FROM Account WHERE Name = str];

これをApex内で書くと、コンパイルエラーとなってしまいます。

原因は「=」の後ろに「:」がないことです。

動的なSOQLでのバインド変数使用には「:」をつける必要があるんですね。

よって正しくは、

String str= 'テスト';
List<Account> accList= [SELECT Id, Name FROM Account WHERE Name =: str];

となります。

単純にクエリエディタでクエリを投げるだけだと「:」は必要ないので、Apex内でもそのまま書いてしまいがちで、毎回怒られてしまいます。。。

その都度「あ~、そうだったそうだった。」と修正するのですが、学び始めた当初は何が原因が全く分からず非常にイライラしていましたね。

システムに怒られる前に正しく書けるようになるぞー。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

某SIer勤務。
Salesforceエンジニアです。
日々の学びをつらつらと書いています。
Certified Administrator
Certified Platform DeveloperⅠ
Certified Platform DeveloperⅡ
Certified Sales Cloud Consultant

コメント

コメントする

CAPTCHA


目次