なぐりがき

SalesforceからときどきIdol



Salesforce:SOQL 予約語

「'」(シングルクォーテーション)
「\」(バックスラッシュ)

この2つが予約語
リファレンスみたら書いてあった。
(後でリンク貼ろう。)

自分が引っ掛かったのは以下みたいな時。

String strA='';
String sql ='';

sql = 'SELECT a__c FROM Account WHERE a__c = ' + strA;

このstrAに「'123」とか「\123」とか予約語を入れるとエラーになる。
「'」はSOQL文が壊れてるってエラーだったはず。
(後でコピーしよう)
「\」は「\123」っていうシーケンス?はありませんってエラー。

sql = 'SELECT a__c FROM Account WHERE a__c = :strA';

バインドするとどちらのエラーも回避できた。

自分で書いたソースじゃなかったんで、
まさかバインドされてないなんて思ってもみなかったけど、
今後1から書いた時に同じことしないように気を付けよーっと。