No Results
Search Tips:
- Please consider misspellings
- Try different search keywords
Database クラス
データベースメソッド
Database のメソッドは次のとおりです。すべてのメソッドが静的です。
convertLead(Database.LeadConvert, Boolean)
署名
public static Database.LeadConvertResult convertLead(Database.LeadConvert leadToConvert, Boolean opt_allOrNone)
パラメータ
- leadToConvert
- 型: Database.LeadConvert
- opt_allOrNone
- 型: Boolean
- (省略可能) opt_allOrNone パラメータは、操作で部分的な完了を許可するかどうかを指定します。このパラメータを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。
戻り値
convertLead(Database.LeadConvert[], Boolean)
署名
public static Database.LeadConvertResult[] convertLead(Database.LeadConvert[] leadsToConvert, Boolean opt_allOrNone)
パラメータ
- leadsToConvert
- 型: Database.LeadConvert[]
- opt_allOrNone
- 型: Boolean
- (省略可能) opt_allOrNone パラメータは、操作で部分的な完了を許可するかどうかを指定します。このパラメータを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。
戻り値
使用方法
convertLead メソッドは、最大 100 の LeadConvert オブジェクトを受け入れます。
実行された各 convertLead メソッドは、DML ステートメントのガバナ制限にカウントされます。
countQuery(String)
delete(SObject, Boolean)
署名
public static Database.DeleteResult delete(SObject recordToDelete, Boolean opt_allOrNone)
パラメータ
戻り値
delete(SObject[], Boolean)
署名
public static Database.DeleteResult[] delete(SObject[] recordsToDelete, Boolean opt_allOrNone)
パラメータ
戻り値
使用方法
delete は、SOAP API の delete() ステートメントに類似しています。
実行された各 delete メソッドは、DML ステートメントのガバナ制限にカウントされます。
例
1Account[] doomedAccts =
2 [SELECT Id, Name FROM Account
3 WHERE Name = 'DotCom'];
4Database.DeleteResult[] DR_Dels =
5 Database.delete(doomedAccts);delete(ID, Boolean)
署名
public static Database.DeleteResult delete(ID recordID, Boolean opt_allOrNone)
パラメータ
戻り値
使用方法
delete は、SOAP API の delete() ステートメントに類似しています。
実行された各 delete メソッドは、DML ステートメントのガバナ制限にカウントされます。
delete(ID[], Boolean)
署名
public static Database.DeleteResult[] delete(ID[] recordIDs, Boolean opt_allOrNone)
パラメータ
戻り値
使用方法
delete は、SOAP API の delete() ステートメントに類似しています。
実行された各 delete メソッドは、DML ステートメントのガバナ制限にカウントされます。
emptyRecycleBin(ID[])
署名
public static Database.EmptyRecycleBinResult[] emptyRecycleBin(ID [] recordIds)
パラメータ
- recordIds
- 型: ID[]
戻り値
使用方法
次の点に注意してください。
- このメソッドを使用してレコードが削除されると、復元することはできません。
- 削除対象として指定できるのは 10,000 件のレコードのみです。
- ログインユーザは、自身のごみ箱にあるレコード、または、下位のごみ箱にあるレコードの中でクエリ可能なものはすべて削除できます。ログインユーザが「すべてのデータの編集」権限を持っている場合、組織内のすべてのごみ箱のレコードに対する���エリと削除を実行できます。
- カスケード削除レコード ID は ID のリストに含めないでください。リストに含めるとエラーが発生します。たとえば、取引先レコードが削除されると、関連するすべての取引先責任者、商談、契約なども削除されます。最上位の取引先の ID のみを含めるようにしてください。関連するレコードはすべて自動的に削除されます。
- DML ステートメントによって処理された項目の数に、削除された項目が追加され、発行された DML ステートメントの合計数にメソッドコールが追加されます。実行された各 emptyRecycleBin メソッドは、DML ステートメントのガバナ制限にカウントされます。
emptyRecycleBin(sObject)
署名
public static Database.EmptyRecycleBinResult emptyRecycleBin(sObject obj)
パラメータ
- obj
- 型: sObject
使用方法
次の点に注意してください。
- このメソッドを使用して sObject が削除されると、復元することはできません。
- 削除対象として指定できるのは 10,000 件の sObject のみです。
- ログインユーザは、自身のごみ箱または下位ユーザのごみ箱にある sObject の中でクエリ可能なものはすべて削除できます。ログインユーザが「すべてのデータの編集」権限を持っている場合、組織内のすべてのごみ箱の sObject に対するクエリと削除を実行できます。
- カスケード削除によって削除された sObject は含めないでください。含めるとエラーが発生します。たとえば、取引先が削除されると、関連するすべての取引先責任者、商談、契約なども削除されます。最上位の取引先の sObject のみを含めるようにしてください。関連する sObject はすべて自動的に削除されます。
- DML ステートメントによって処理された項目の数に、削除された項目が追加され、発行された DML ステートメントの合計数にメソッドコールが追加されます。実行された各 emptyRecycleBin メソッドは、DML ステートメントのガバナ制限にカウントされます。
emptyRecycleBin(sObject[])
署名
public static Database.EmptyRecycleBinResult[] emptyRecycleBin(sObject[] listOfSObjects)
パラメータ
- listOfSObjects
- 型: sObject[]
戻り値
使用方法
次の点に注意してください。
- このメソッドを使用して sObject が削除されると、復元することはできません。
- 削除対象として指定できるのは 10,000 件の sObject のみです。
- ログインユーザは、自身のごみ箱または下位ユーザのごみ箱にある sObject の中でクエリ可能なものはすべて削除できます。ログインユーザが「すべてのデータの編集」権限を持っている場合、組織内のすべてのごみ箱の sObject に対するクエリと削除を実行できます。
- カスケード削除によって削除された sObject は含めないでください。含めるとエ���ーが発生します。たとえば、取引先が削除されると、関連するすべての取引先責任者、商談、契約なども削除されます。最上位の取引先の sObject のみを含めるようにしてください。関連する sObject はすべて自動的に削除されます。
- DML ステートメントによって処理された項目の数に、削除された項目が追加され、発行された DML ステートメントの合計数にメソッドコールが追加されます。実行された各 emptyRecycleBin メソッドは、DML ステートメントのガバナ制限にカウントされます。
executeBatch(Object)
署名
public static ID executeBatch(Object batchClassObject)
パラメータ
- batchClassObject
- 型: Object
- Database.Batchable インターフェースを実装するクラスのインスタンス。
使用方法
このメソッドをコールすると、Salesforce では、一括処理クラスの start メソッドが返すレコードを 200 個のバッチに分割し、各バッチを execute メソッドに渡します。Apex ガバナ制限は、execute の各実行でリセットされます。
詳細は、「Apex の一括処理の使用」を参照してください。
executeBatch(Object, Integer)
署名
public static ID executeBatch(Object batchClassObject, Integer scope)
パラメータ
- batchClassObject
- 型: Object
- Database.Batchable インターフェースを実装するクラスのインスタンス。
- scope
- 型: Integer
- 一括処理の execute メソッドに渡すレコードの数。
使用方法
scope の値は 0 より大きくします。
一括処理クラスの start メソッドが QueryLocator を返す場合、Database.executeBatch の scope パラメータには最大値 2,000 を指定できます。これより大きい値に設定すると、Salesforce が、QueryLocator によって返されるレコードを最大 200 レコードのより小さいバッチに分割します。一括処理クラスの start メソッドが Iterable オブジェクトを返す場合、scope パラメータ値に上限はありませんが、非常に大きい値を使用すると、他の制限が発生する場合があります。
Apex ガバナ制限は、execute の各実行でリセットされます。
詳細は、「Apex の一括処理の使用」を参照してください。
getDeleted(String, Datetime, Datetime)
署名
public static Database.GetDeletedResult getDeleted(String sObjectType, Datetime startDate, Datetime endDate)
パラメータ
戻り値
使用方法
ごみ箱ではレコードを最長 15 日間保持するため、コールが実行された日から 15 日以内の結果が返されます (システム管理者がごみ箱の中身を消去した場合、期間が短くなる場合があります)。
例
1Database.GetDeletedResult r =
2 Database.getDeleted(
3 'Merchandise__c',
4 Datetime.now().addHours(-1),
5 Datetime.now());getQueryLocator(sObject [])
署名
public static Database. QueryLocator getQueryLocator(sObject [] listOfQueries)
パラメータ
- listOfQueries
- 型: sObject[]
戻り値
使用方法
集計関数が含まれるクエリで getQueryLocator を使用することはできません。
実行された各 getQueryLocator メソッドは、取得されるレコードの合計数と発行される SOQL クエリの合計数である 10,000 のガバナ制限にカウントされます。
詳細は、「Apex による共有管理について」および「IdeaStandardSetController クラス」を参照してください。
getQueryLocator(String)
署名
public static Database.QueryLocator getQueryLocator(String query)
パラメータ
- query
- 型: String
戻り値
使用方法
集計関数が含まれるクエリで getQueryLocator を使用することはできません。
実行された各 getQueryLocator メソッドは、取得されるレコードの合計数と発行される SOQL クエリの合計数である 10,000 のガバナ制限にカウントされます。
詳細は、「Apex による共有管理について」および「StandardSetController クラス」を参照してください。
getUpdated(String, Datetime, Datetime)
署名
public static Database.GetUpdatedResult getUpdated(String sobjectType, Datetime startDate, Datetime endDate)
パラメータ
戻り値
使用方法
返される結果の日付の範囲は、コールが実行された日から 30 日以内です。
例
1Database.GetUpdatedResult r =
2 Database.getUpdated(
3 'Merchandise__c',
4 Datetime.now().addHours(-1),
5 Datetime.now());insert(sObject, Boolean)
署名
public static Database.SaveResult insert(sObject recordToInsert, Boolean opt_allOrNone)
パラメータ
戻り値
insert(sObject [], Boolean)
署名
public static Database.SaveResult[] insert(sObject [] recordsToInsert, Boolean opt_allOrNone)
パラメータ
戻り値
型: Database.SaveResult[]
使用方法
insert は SQL の INSERT ステートメントに類似しています。
項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガにはランタイムエラーが発生します。
実行された各 insert メソッドは、DML ステートメントのガバナ制限にカウントされます。
例
例:
1Account a =
2 new Account(name = 'Acme1');
3Database.SaveResult[] lsr =
4 Database.insert(
5 new Account[]{a,
6 new Account(Name = 'Acme2')},
7 false);insert(sObject, Database.DMLOptions)
署名
public static Database.SaveResult insert(sObject recordToInsert, Database.DMLOptions options)
パラメータ
- recordToInsert
- 型: sObject
- options
- 型: Database.DMLOptions
- (省略可能) opt_DMLOptions パラメータは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。
戻り値
使用方法
insert は SQL の INSERT ステートメントに類似しています。
項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガにはランタイムエラーが発生します。
実行された各 insert メソッドは、DML ステートメントのガバナ制限にカウントされます。
insert(sObject[], Database.DMLOptions)
署名
public static Database.SaveResult insert(sObject[] recordToInsert, Database.DMLOptions options)
パラメータ
- recordToInsert
- 型: sObject[]
- options
- 型: Database.DMLOptions
- (省略可能) opt_DMLOptions パラメータは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。
戻り値
merge(sObject, Id)
署名
public static Database.MergeResult merge(sObject master, Id duplicate)
パラメータ
戻り値
使用方法
実行された各 merge メソッドは、DML ステートメントのガバナ制限にカウントされます。
merge(sObject, sObject)
署名
public static Database.MergeResult merge(sObject master, sObject duplicate)
パラメータ
戻り値
使用方法
実行された各 merge メソッドは、DML ステートメントのガバナ制限にカウントされます。
merge(sObject, List<Id>)
署名
public static List<Database.MergeResult> merge(sObject master, List<Id> duplicates)
パラメータ
戻り値
使用方法
実行された各 merge メソッドは、DML ステートメントのガバナ制限にカウントされます。
merge(sObject, List<SObject>)
署名
public static List<Database.MergeResult> merge(sObject master, List<SObject> duplicates)
パラメータ
戻り値
使用方法
実行された各 merge メソッドは、DML ステートメントのガバナ制限にカウントされます。
merge(sObject, Id, Boolean)
署名
public static Database.MergeResult merge(sObject master, Id duplicate, Boolean allOrNothing)
パラメータ
戻り値
使用方法
実行された各 merge メソッドは、DML ステートメントのガバナ制限にカウントされます。
merge(sObject, sObject, Boolean)
署名
public static Database.MergeResult merge(sObject master, sObject duplicate, Boolean allOrNone)
パラメータ
戻り値
使用方法
実行された各 merge メソッドは、DML ステートメントのガバナ制限にカウントされます。
merge(sObject, List<Id>, Boolean)
署名
public static List<Database.MergeResult> merge(sObject master, List<Id> duplicates, Boolean allOrNone)
パラメータ
戻り値
使用方法
実行された各 merge メソッドは、DML ステートメントのガバナ制限にカウントされます。
merge(sObject, List<SObject>, Boolean)
署名
public static List<Database.MergeResult> merge(sObject master, List<SObject> duplicates, Boolean allOrNone)
パラメータ
戻り値
使用方法
実行された各 merge メソッドは、DML ステートメントのガバナ制限にカウントされます。
rollback(System.Savepoint)
署名
public static Void rollback(System.Savepoint sp)
パラメータ
- sp
- 型: System.Savepoint
戻り値
型: Void
使用方法
- 各ロールバックは、DML ステートメントのガバナ制限にカウントされます。データベースをそれ以上の回数ロールバックしようとすると、ランタイムエラーが発生します。
- savepoint の設定後に挿入された sObject の ID は、ロールバック後にクリアされません。ロールバック後に挿入するには、新しい sObject を作成します。ロールバック前に作成した変数を使用して sObject を挿入しようとすると、その sObject 変数には ID があるため失敗します。同じ変数を使用して sObject を更新または更新/挿入しようとした場合も、sObject はデータベース内に存在せず、更新できないため失敗します。
「トランザクションの制御」の例を参照してください。
setSavepoint()
署名
public static System.Savepoint setSavepoint()
戻り値
型: System.Savepoint
使用方法
- 複数の savepoint を設定し、生成した最新 savepoint ではない savepoint にロールバックすると、ロールバックされた savepoint 変数は無効になります。たとえば、最初に savepoint SP1 を生成し、次に savepoint SP2 を生成した場合、SP1 にロールバックすると、変数 SP2 は無効になります。その変数を使用しようとすると、ランタイムエラーが発生します。
- 各トリガ呼び出しが新しいトリガコンテキストであるため、savepoints への参照は、トリガ呼び出しを通過することはできません。静的変数として savepoint を宣言し、トリガコンテキスト全体で使用しようとすると、ランタイムエラーが発生します。
- 設定した各セーブポイントは、DML ステートメントのガバナ制限にカウントされます。
「トランザクションの制御」の例を参照してください。
undelete(sObject, Boolean)
署名
public static Database.UndeleteResult undelete(sObject recordToUndelete, Boolean opt_allOrNone)
パラメータ
戻り値
使用方法
undelete は SQL の UNDELETE ステートメントに類似しています。
実行された各 undelete メソッドは、DML ステートメントのガバナ制限にカウントされます。
undelete(sObject [], Boolean)
署名
public static Database.UndeleteResult[] undelete(sObject [] recordsToUndelete, Boolean opt_allOrNone)
パラメータ
戻り値
使用方法
undelete は SQL の UNDELETE ステートメントに類似しています。
実行された各 undelete メソッドは、DML ステートメントのガバナ制限にカウントされます。
例
1Account[] SavedAccts =
2 [SELECT Id, Name
3 FROM Account
4 WHERE Name = 'Trump' ALL ROWS];
5Database.UndeleteResult[] UDR_Dels =
6 Database.undelete(SavedAccts);undelete(ID, Boolean)
署名
public static Database.UndeleteResult undelete(ID recordID, Boolean opt_allOrNone)
パラメータ
戻り値
使用方法
undelete は SQL の UNDELETE ステートメントに類似しています。
実行された各 undelete メソッドは、DML ステートメントのガバナ制限にカウントされます。
undelete(ID[], Boolean)
署名
public static Database.UndeleteResult[] undelete(ID[] recordIDs, Boolean opt_allOrNone)
パラメータ
戻り値
使用方法
undelete は SQL の UNDELETE ステートメントに類似しています。
実行された各 undelete メソッドは、DML ステートメントのガバナ制限にカウントされます。
update(sObject, Boolean)
署名
public static Database.SaveResult update(sObject recordToUpdate, Boolean opt_allOrNone)
パラメータ
戻り値
使用方法
update は SQL の UPDATE ステートメントに類似しています。
項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガにはランタイムエラーが発生します。
実行された各 update メソッドは、DML ステートメントのガバナ制限にカウントされます。
例
1Account a = new Account(Name='SFDC');
2insert(a);
3
4Account myAcct =
5 [SELECT Id, Name, BillingCity
6 FROM Account WHERE Id = :a.Id];
7myAcct.BillingCity = 'San Francisco';
8
9Database.SaveResult SR =
10 Database.update(myAcct);update(sObject [], Boolean)
署名
public static Database.SaveResult[] update(sObject[] recordsToUpdate, Boolean opt_allOrNone)
パラメータ
戻り値
型: Database.SaveResult[]
使用方法
update は SQL の UPDATE ステートメントに類似しています。
実行された各 update メソッドは、DML ステートメントのガバナ制限にカウントされます。
update(sObject, Database.DmlOptions)
署名
public static Database.SaveResult update(sObject recordToUpdate, Database.DmlOptions options)
パラメータ
- recordToUpdate
- 型: sObject
- options
- 型: Database.DMLOptions
- (省略可能) opt_DMLOptions パラメータは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。
戻り値
使用方法
update は SQL の UPDATE ステートメントに類似しています。
項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガにはランタイムエラーが発生します。
実行された各 update メソッドは、DML ステートメントのガバナ制限にカウントされます。
update(sObject [], Database.DMLOptions)
署名
public static Database.SaveResult[] update(sObject[] recordsToUpdate, Database.DMLOptions options)
パラメータ
- recordsToUpdate
- 型: sObject[]
- options
- 型: Database.DMLOptions
- (省略可能) opt_DMLOptions パラメータは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。
戻り値
型: Database.SaveResult[]
使用方法
update は SQL の UPDATE ステートメントに類似しています。
項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガにはランタイムエラーが発生します。
実行された各 update メソッドは、DML ステートメントのガバナ制限にカウントされます。
upsert(sObject, Schema.SObjectField, Boolean)
署名
public static Database.UpsertResult upsert(sObject recordToUpsert, Schema.SObjectField external_ID_Field, Boolean opt_allOrNone)
パラメータ
- recordToUpsert
- 型: sObject
- external_ID_Field
- 型: Schema.SObjectField
- External_ID_Field は Schema.SObjectField のデータ型、つまり項目トークンです。fields 特殊メソッドを使用して、項目のトークンを検索します。たとえば、Schema.SObjectField f = Account.Fields.MyExternalId です。
- opt_allOrNone
- 型: Boolean
- (省略可能) opt_allOrNone パラメータは、操作で部分的な完了を許可するかどうかを指定します。このパラメータを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。
戻り値
使用方法
項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガにはランタイムエラーが発生します。
実行された各 upsert メソッドは、DML ステートメントのガバナ制限にカウントされます。
upsert(sObject[], Schema.SObjectField, Boolean)
署名
public static Database.UpsertResult[] upsert(sObject [] recordsToUpsert, Schema.SObjectField External_ID_Field, Boolean opt_allOrNone)
パラメータ
- recordsToUpsert
- 型: sObject[]
- External_ID_Field
- 型: Schema.SObjectField
- External_ID_Field は Schema.SObjectField のデータ型、つまり項目トークンです。fields 特殊メソッドを使用して、項目のトークンを検索します。たとえば、Schema.SObjectField f = Account.Fields.MyExternalId です。
- opt_allOrNone
- 型: Boolean
- (省略可能) opt_allOrNone パラメータは、操作で部分的な完了を許可するかどうかを指定します。このパラメータを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。
戻り値
使用方法
項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガにはランタイムエラーが発生します。
実行された各 upsert メソッドは、DML ステートメントのガバナ制限にカウントされます。