0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[SOQL]バインド変数の使用方法

Posted at

バインド変数とは

Apex内の変数をクエリ条件として使用したいときがある。
そんな時に便利なのがバインド変数。
SOQLやSOSLに変数値を使用することができる!

動的SOQL|Apex 開発者ガイド

使用方法① Database.Quey()

まずString型でクエリを準備、クエリをDatabase.query()に渡す。
バインド変数は変数名の前に ':' をつけるだけ。

String bindValue = 'テスト';
String query = 'SELECT Id, Name FROM Account WHERE Name = :bindValue';
List<Account> accList = Database.query(query);

ただし、sObject型の変数.項目APIというやり方はだめらしい。

// sObject.項目API のやり方はうまくいかない
Account acc = new Account(Name = 'テスト');

String query =  'SELECT Id, Name FROM Account WHERE Name = :acc.Name'; // NG
List<Account> accList = Database.query(query);

使用方法② インラインSOQL

バインド変数の書き方は①と同じで変数の前にコロンをつけるのみ

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

インラインSOQLの場合はsObject.項目APIのやり方でもOKみたいです。


何が違うのか私にはわかりません

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?