この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Database クラス

データを作成および操作するメソッドが含まれます。

名前空間

System

使用方法

一部の Database メソッドは DML ステートメントとしても存在します。

データベースメソッド

Database のメソッドは次のとおりです。すべてのメソッドが静的です。

convertLead(leadToConvert, allOrNone)

リード取引開始によって取引先、取引先責任者、および (必要に応じて) 商談を作成します。

署名

public static Database.LeadConvertResult convertLead(Database.LeadConvert leadToConvert, Boolean allOrNone)

パラメーター

leadToConvert
型: Database.LeadConvert
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

使用方法

convertLead メソッドは、最大 100 の LeadConvert オブジェクトを受け入れます。

実行された各 convertLead メソッドは、DML ステートメントのガバナ制限に含まれます。

convertLead(leadsToConvert, allOrNone)

LeadConvert オブジェクトのリストを、取引先、取引先責任者、および (必要に応じて) 商談に変換します。

署名

public static Database.LeadConvertResult[] convertLead(Database.LeadConvert[] leadsToConvert, Boolean allOrNone)

パラメーター

leadsToConvert
型: Database.LeadConvert[]
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.LeadConvertResult[]

使用方法

convertLead メソッドは、最大 100 の LeadConvert オブジェクトを受け入れます。

実行された各 convertLead メソッドは、DML ステートメントのガバナ制限に含まれます。

convertLead(leadToConvert, dmlOptions)

リード取引開始によって取引先、取引先責任者、および (必要に応じて) 商談を作成します。

署名

public static Database.LeadConvertResult convertLead(Database.LeadConvert leadToConvert, Database.DMLOptions dmlOptions)

パラメーター

leadToConvert
型: Database.LeadConvert
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。

使用方法

convertLead メソッドは、最大 100 の LeadConvert オブジェクトを受け入れます。

実行された各 convertLead メソッドは、DML ステートメントのガバナ制限に含まれます。

convertLead(leadsToConvert, dmlOptions)

LeadConvert オブジェクトのリストを、取引先、取引先責任者、および (必要に応じて) 商談に変換します。

署名

public static List<Database.LeadConvertResult> convertLead(List<Database.LeadConvert> leadsToConvert, Database.DMLOptions dmlOptions)

パラメーター

leadsToConvert
型: List<Database.LeadConvert>
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。

戻り値

型: List<Database.LeadConvertResult>

使用方法

convertLead メソッドは、最大 100 の LeadConvert オブジェクトを受け入れます。

実行された各 convertLead メソッドは、DML ステートメントのガバナ制限に含まれます。

convertLead(leadToConvert, allOrNone, accessLevel)

リード取引開始によって取引先、取引先責任者、および (必要に応じて) 商談を作成します。

署名

public static Database.LeadConvertResult convertLead(Database.LeadConvert leadToConvert, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

leadToConvert
型: Database.LeadConvert
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

使用方法

convertLead メソッドは、最大 100 の LeadConvert オブジェクトを受け入れます。

実行された各 convertLead メソッドは、DML ステートメントのガバナ制限に含まれます。

convertLead(leadsToConvert, allOrNone, accessLevel)

LeadConvert オブジェクトのリストを、取引先、取引先責任者、および (必要に応じて) 商談に変換します。

署名

public static List<Database.LeadConvertResult> convertLead(List<Database.LeadConvert> leadsToConvert, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

leadsToConvert
型: List<Database.LeadConvert>
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.LeadConvertResult>

使用方法

convertLead メソッドは、最大 100 の LeadConvert オブジェクトを受け入れます。

実行された各 convertLead メソッドは、DML ステートメントのガバナ制限に含まれます。

convertLead(leadToConvert, dmlOptions, accessLevel)

リード取引開始によって取引先、取引先責任者、および (必要に応じて) 商談を作成します。

署名

public static Database.LeadConvertResult convertLead(Database.LeadConvert leadToConvert, Database.DMLOptions dmlOptions, System.AccessLevel accessLevel)

パラメーター

leadToConvert
型: Database.LeadConvert
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

使用方法

convertLead メソッドは、最大 100 の LeadConvert オブジェクトを受け入れます。

実行された各 convertLead メソッドは、DML ステートメントのガバナ制限に含まれます。

convertLead(leadsToConvert, dmlOptions, accessLevel)

LeadConvert オブジェクトのリストを、取引先、取引先責任者、および (必要に応じて) 商談に変換します。

署名

public static List<Database.LeadConvertResult> convertLead(List<Database.LeadConvert> leadsToConvert, Database.DMLOptions dmlOptions, System.AccessLevel accessLevel)

パラメーター

leadsToConvert
型: List<Database.LeadConvert>
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.LeadConvertResult>

使用方法

convertLead メソッドは、最大 100 の LeadConvert オブジェクトを受け入れます。

実行された各 convertLead メソッドは、DML ステートメントのガバナ制限に含まれます。

countQuery(query)

実行時に動的 SOQL クエリが返すレコード数を返します。

署名

public static Integer countQuery(String query)

パラメーター

query
型: String

戻り値

型: Integer

使用方法

詳細は、「動的 SOQL」を参照してください。

実行された各 countQuery メソッドは、SOQL クエリのガバナ制限に含まれます。

countQuery(query, accessLevel)

実行時に動的 SOQL クエリが返すレコード数を返します。

署名

public static Integer countQuery(String query, System.AccessLevel accessLevel)

パラメーター

query
型: String
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Integer

使用方法

詳細は、「動的 SOQL」を参照してください。

実行された各 countQuery メソッドは、SOQL クエリのガバナ制限に含まれます。

countQueryWithBinds(query, bindMap, accessLevel)

実行時に動的 SOQL クエリが返すレコード数を返します。クエリのバインド変数は Apex コード変数からではなく、bindMap Map パラメーターからキーを使用して直接解決されます。

署名

public static Integer countQueryWithBinds(String query, Map<String, Object> bindMap, System.AccessLevel accessLevel)

パラメーター

query
型: String
先頭にコロンが付いた Apex バインド変数を含む SOQL クエリ。すべてのバインド変数では bindMap Map のキーが必要です。
bindMap
Type: Map<String, Object>
SOQL queryString で指定された各バインド変数のキーとその値を含む対応付け。キーは null にしたり重複させたりすることはできません。また、値は null にしたり空の文字列にしたりすることはできません。
accessLevel
型: System.AccessLevel
accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。

戻り値

型: Integer

使用方法

詳細は、「動的 SOQL」を参照してください。

実行された各 countQueryWithBinds メソッドは、SOQL クエリのガバナ制限に含まれます。

この例では、SOQL クエリで取引先名のバインド変数が使用されています。値 (Acme Inc.) は、nameBind Map を使用してメソッドに渡されます。クエリがメソッド内で実行されたときに、accountName 変数は範囲内に含まれません (また範囲内に含まれている必要はありません)。

delete(recordToDelete, allOrNone)

個別の取引先や取引先責任者など、既存の sObject レコードを組織のデータから削除します。

署名

public static Database.DeleteResult delete(SObject recordToDelete, Boolean allOrNone)

パラメーター

recordToDelete
型: sObject
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.DeleteResult

使用方法

delete は、SOAP API の delete() ステートメントに類似しています。

実行された各 delete メソッドは、DML ステートメントのガバナ制限に含まれます。

delete(recordsToDelete, allOrNone)

個別の取引先や取引先責任者など、既存の sObject レコードのリストを組織のデータから削除します。

署名

public static Database.DeleteResult[] delete(SObject[] recordsToDelete, Boolean allOrNone)

パラメーター

recordsToDelete
型: sObject[]
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.DeleteResult[]

使用方法

delete は、SOAP API の delete() ステートメントに類似しています。

実行された各 delete メソッドは、DML ステートメントのガバナ制限に含まれます。

次の例では、「DotCom」という名前の取引先を削除しています。

delete(recordID, allOrNone)

個別の取引先や取引先責任者など、既存の sObject レコードを組織のデータから削除します。

署名

public static Database.DeleteResult delete(ID recordID, Boolean allOrNone)

パラメーター

recordID
型: ID
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.DeleteResult

使用方法

delete は、SOAP API の delete() ステートメントに類似しています。

実行された各 delete メソッドは、DML ステートメントのガバナ制限に含まれます。

delete(recordIDs, allOrNone)

個別の取引先や取引先責任者など、既存の sObject レコードのリストを組織のデータから削除します。

署名

public static Database.DeleteResult[] delete(ID[] recordIDs, Boolean allOrNone)

パラメーター

recordIDs
型: ID[]
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.DeleteResult[]

使用方法

delete は、SOAP API の delete() ステートメントに類似しています。

実行された各 delete メソッドは、DML ステートメントのガバナ制限に含まれます。

delete(recordToDelete, allOrNone, accessLevel)

個別の取引先や取引先責任者など、既存の sObject レコードを組織のデータから削除します。

署名

public static Database.DeleteResult delete(SObject recordToDelete, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordToDelete
型: sObject
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.DeleteResult

使用方法

delete は、SOAP API の delete() ステートメントに類似しています。

実行された各 delete メソッドは、DML ステートメントのガバナ制限に含まれます。

delete(recordsToDelete, allOrNone, accessLevel)

個別の取引先や取引先責任者など、既存の sObject レコードのリストを組織のデータから削除します。

署名

public static List<Database.DeleteResult> delete(List<SObject> recordsToDelete, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordsToDelete
型: List<sObject>
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.DeleteResult>

使用方法

delete は、SOAP API の delete() ステートメントに類似しています。

実行された各 delete メソッドは、DML ステートメントのガバナ制限に含まれます。

delete(recordID, allOrNone, accessLevel)

個別の取引先や取引先責任者など、既存の sObject レコードを組織のデータから削除します。

署名

public static Database.DeleteResult delete(Id recordID, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordID
型: ID
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.DeleteResult

使用方法

delete は、SOAP API の delete() ステートメントに類似しています。

実行された各 delete メソッドは、DML ステートメントのガバナ制限に含まれます。

delete(recordIDs, allOrNone, accessLevel)

個別の取引先や取引先責任者など、既存の sObject レコードのリストを組織のデータから削除します。

署名

public static List<Database.DeleteResult> delete(List<Id> recordIDs, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordIDs
型: List<ID>
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.DeleteResult>

使用方法

delete は、SOAP API の delete() ステートメントに類似しています。

実行された各 delete メソッドは、DML ステートメントのガバナ制限に含まれます。

deleteAsync(sobjects, callback)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、バックグ���ウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。削除後にレコードごとに processDelete メソッドがコールされるコールバッククラスを参照できます。

署名

public static List<Database.DeleteResult> deleteAsync(List<SObject> sobjects, DataSource.AsyncDeleteCallback callback)

パラメーター

sobjects
型: List<SObject>
削除する外部オブジェクトレコードのリスト。
callback
型: DataSource.AsyncDeleteCallback
元のコンテキストの状態と挿入操作の完了後に実行されるアクション (processDelete メソッド) を含むコールバック。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncDeleteCallback を拡張する必要があります。

戻り値

型: List<Database.DeleteResult>

削除操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() ��取得できます。Database.getAsyncDeleteResult() を使用して最終結果を取得します。

deleteAsync(sobject, callback)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。削除後に processDelete メソッドがコールされるコールバッククラスを参照できます。

署名

public static Database.DeleteResult deleteAsync(SObject sobject, DataSource.AsyncDeleteCallback callback)

パラメーター

sobject
型: SObject
削除する外部オブジェクトレコード。
callback
型: DataSource.AsyncDeleteCallback
元のコンテキストの状態と挿入操作の完了後に実行されるアクション (processDelete メソッド) を含むコールバック。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncDeleteCallback を拡張する必要があります。

戻り値

型: Database.DeleteResult

削除操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncDeleteResult() を使用して最終結果を取得します。

deleteAsync(sobjects)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static List<Database.DeleteResult> deleteAsync(List<SObject> sobjects)

パラメーター

sobjects
型: List<SObject>
削除する外部オブジェクトレコードのリスト。

戻り値

型: List<Database.DeleteResult>

削除操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncDeleteResult() を使用して最終結果を取得します。

deleteAsync(sobject)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static Database.DeleteResult deleteAsync(SObject sobject)

パラメーター

sobject
型: SObject
削除する外部オブジェクトレコード。

戻り値

型: Database.DeleteResult

削除操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncDeleteResult() を使用して最終結果を取得します。

deleteAsync(sobjects, callback, accessLevel)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。削除後にレコードごとに processDelete メソッドがコールされるコールバッククラスを参照できます。

署名

public static List<Database.DeleteResult> deleteAsync(List<SObject> sobjects, DataSource.AsyncDeleteCallback callback, System.AccessLevel accessLevel)

パラメーター

sobjects
型: List<SObject>
削除する外部オブジェクトレコードのリスト。
callback
型: DataSource.AsyncDeleteCallback
元のコンテキストの状態と挿入操作の完了後に実行されるアクション (processDelete メソッド) を含むコールバック。実行モードは、accessLevel パラメーターにかかわらずシステムモードです。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncDeleteCallback を拡張する必要があります。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.DeleteResult>

削除操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncDeleteResult() を使用して最終結果を取得します。

deleteAsync(sobject, callback, accessLevel)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。削除後に processDelete メソッドがコールされるコールバッククラスを参照できます。

署名

public static Database.DeleteResult deleteAsync(SObject sobject, DataSource.AsyncDeleteCallback callback, System.AccessLevel accessLevel)

パラメーター

sobject
型: SObject
削除する外部オブジェクトレコード。
callback
型: DataSource.AsyncDeleteCallback
元のコンテキストの状態と挿入操作の完了後に実行されるアクション (processDelete メソッド) を含むコールバック。実行モードは、accessLevel パラメーターにかかわらずシステムモードです。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncDeleteCallback を拡張する必要があります。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.DeleteResult

削除操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncDeleteResult() を使用して最終結果を取得します。

deleteAsync(sobjects, accessLevel)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static List<Database.DeleteResult> deleteAsync(List<SObject> sobjects, System.AccessLevel accessLevel)

パラメーター

sobjects
型: List<SObject>
削除する外部オブジェクトレコードのリスト。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.DeleteResult>

削除操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncDeleteResult() を使用して最終結果を取得します。

deleteAsync(sobject, accessLevel)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static Database.DeleteResult deleteAsync(SObject sobject, System.AccessLevel accessLevel)

パラメーター

sobject
型: SObject
削除する外部オブジェクトレコード。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.DeleteResult

削除操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncDeleteResult() を使用して最終結果を取得します。

deleteImmediate(sobjects)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static List<Database.DeleteResult> deleteImmediate(List<SObject> sobjects)

パラメーター

sobjects
型: List<SObject>
削除する外部オブジェクトレコードのリスト。

戻り値

型: List<Database.DeleteResult>

削除操作の状況の結果。

使用方法

deleteImmediate() を使用する Big Object のバッチ制限は、一度に 50,000 レコードです。

deleteImmediate(sobject)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static Database.DeleteResult deleteImmediate(SObject sobject)

パラメーター

sobject
型: SObject
削除する外部オブジェクトレコード。

戻り値

型: Database.DeleteResult

削除操作の状況の結果。

deleteImmediate(sobjects, accessLevel)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static List<Database.DeleteResult> deleteImmediate(List<SObject> sobjects, System.AccessLevel accessLevel)

パラメーター

sobjects
型: List<SObject>
削除する外部オブジェクトレコードのリスト。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.DeleteResult>

削除操作の状況の結果。

使用方法

deleteImmediate() を使用する Big Object のバッチ制限は、一度に 50,000 レコードです。

deleteImmediate(sobject, accessLevel)

指定した外部オブジェクトレコードに対応する外部データの削除要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static Database.DeleteResult deleteImmediate(SObject sobject, System.AccessLevel accessLevel)

パラメーター

sobject
型: SObject
削除する外部オブジェクトレコード。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.DeleteResult

削除操作の状況の結果。

emptyRecycleBin(recordIds)

指定したレコードがごみ箱から完全に削除されます。

署名

public static Database.EmptyRecycleBinResult[] emptyRecycleBin(ID [] recordIds)

パラメーター

recordIds
型: ID[]

使用方法

次の点に注意してください。

  • このメソッドを使用してレコードが削除されると、復元することはできません。
  • 削除対象として指定できるのは 10,000 件のレコードのみです。
  • ログインユーザーは、自身のごみ箱にあるレコード、または、下位のごみ箱にあるレコードの中でクエリ可能なものはすべて削除できます。ログインユーザーが「すべてのデータの編集」権限を持っている場合、組織内のすべてのごみ箱のレコードに対するクエリと削除を実行できます。
  • カスケード削除レコード ID は ID のリストに含めないでください。リストに含めるとエラーが発生します。たとえば、取引先レコードが削除されると、関連するすべての取引先責任者、商談、契約なども削除されます。最上位の取引先の ID のみを含めるようにしてください。関連するレコードはすべて自動的に削除されます。
  • DML ステートメントによって処理された項目の数に、削除された項目が追加され、発行された DML ステートメントの合計数にメソッドコールが追加されます。実行された各 emptyRecycleBin メソッドは、DML ステートメントのガバナ制限に含まれます。

emptyRecycleBin(obj)

指定した sObject がごみ箱から完全に削除されます。

署名

public static Database.EmptyRecycleBinResult emptyRecycleBin(sObject obj)

パラメーター

obj
型: sObject

使用方法

次の点に注意してください。

  • このメソッドを使用して sObject が削除されると、復元することはできません。
  • 削除対象として指定できるのは 10,000 件の sObject のみです。
  • ログインユーザーは、自身のごみ箱または下位ユーザーのごみ箱にある (クエリ可能な) すべての sObject を削除できます。ログインユーザーが「すべてのデータの編集」権限を持っている場合、組織内のすべてのごみ箱の sObject に対するクエリと削除を実行できます。
  • カスケード削除によって削除された sObject は含めないでください。含めるとエラーが発生します。た���えば、取引先が削除されると、関連するすべての取引先責任者、商談、契約なども削除されます。最上位の取引先の sObject のみを含めるようにしてください。関連する sObject はすべて自動的に削除されます。

emptyRecycleBin(listOfSObjects)

指定した sObject がごみ箱から完全に削除されます。

署名

public static Database.EmptyRecycleBinResult[] emptyRecycleBin(sObject[] listOfSObjects)

パラメーター

listOfSObjects
型: sObject[]

使用方法

次の点に注意してください。

  • このメソッドを使用して sObject が削除されると、復元することはできません。
  • 削除対象として指定できるのは 10,000 件の sObject のみです。
  • ログインユーザーは、自身のごみ箱または下位ユーザーのごみ箱にある (クエリ可能な) すべての sObject を削除できます。ログインユーザーが「すべてのデータの編集」権限を持っている場合、組織内のすべてのごみ箱の sObject に対するクエリと削除を実行できます。
  • カスケード削除によって削除された sObject は含めないでください。含めるとエラーが発生します。たとえば、取引先が削除されると、関連するすべての取引先責任者、商談、契約なども削除されます。最上位の取引先の sObject のみを含めるようにしてください。関連する sObject はすべて自動的に削除されます。

executeBatch(batchClassObject)

指定したクラスに対応する実行の Apex の一括処理ジョブを送信します。

署名

public static ID executeBatch(Object batchClassObject)

パラメーター

batchClassObject
型: Object
Database.Batchable インターフェースを実装するクラスのインスタンス。

戻り値

型: ID

新しい一括処理ジョブ (AsyncApexJob) の ID。

使用方法

このメソッドをコールすると、Salesforce では、一括処理クラスの start メソッドが返すレコードを 200 個のバッチに分割し、各バッチを execute メソッドに渡します。Apex ガバナ制限は、execute の各実行でリセットされます。

詳細は、「Apex の一括処理の使用」を参照してください。

バージョン管理動作の変更

executeBatch コールで Apex Flex キューロックを取得できなかった場合は、次のようになります。

  • API バージョン 52.0 以降の場合は、System.AsyncException が発生します。
  • API バージョン 51.0 以前の場合は、例外が発生するのではなく、空の ID 「000000000000000」が返されます。

executeBatch(batchClassObject, scope)

指定したクラスおよび範囲を使用して実行する Apex の一括処理ジョブを送信します。

署名

public static ID executeBatch(Object batchClassObject, Integer scope)

パラメーター

batchClassObject
型: Object
Database.Batchable インターフェースを実装するクラスのインスタンス。
scope
型: Integer
一括処理の execute メソッドに渡すレコードの数。

戻り値

型: ID

新しい一括処理ジョブ (AsyncApexJob) の ID。

使用方法

scope の値は 0 より大きくします。

一括処理クラスの start メソッドが Database.QueryLocator を返す場合、Database.executeBatch の scope パラメーターには最大値 2,000 を指定できます。これより大きい値に設定すると、Salesforce では、QueryLocator が返すレコードを、最大 200 レコードまでの、より小さいバッチに分割します。一括処理クラスの start メソッドが Iterable を返す場合、scope パラメーター値に上限はありませんが、非常に大きい値を使用すると、他の制限が発生する場合があります。

Apex ガバナ制限は、execute の各実行でリセットされます。

詳細は、「Apex の一括処理の使用」を参照してください。

バージョン管理動作の変更

executeBatch コールで Apex Flex キューロックを取得できなかった場合は、次のようになります。

  • API バージョン 52.0 以降の場合は、System.AsyncException が発生します。
  • API バージョン 51.0 以前の場合は、例外が発生するのではなく、空の ID 「000000000000000」が返されます。

getAsyncDeleteResult(deleteResult)

Database.DeleteResult オブジェクトで識別される非同期的な削除操作の状況を取得します。

署名

public static Database.DeleteResult getAsyncDeleteResult(Database.DeleteResult deleteResult)

パラメーター

deleteResult
型: Database.DeleteResult
取得する削除操作の結果レコード。

戻り値

型: Database.DeleteResult

レコードの非同期的な削除が完了した結果。

getAsyncDeleteResult(asyncLocator)

結果の一意の識別子に基づいて非同期的な削除操作の結果を取得します。

署名

public static Database.DeleteResult getAsyncDeleteResult(String asyncLocator)

パラメーター

asyncLocator
型: String
非同期操作の結果に関連付けられる一意の識別子。

戻り値

型: Database.DeleteResult

レコードの非同期的な削除が完了した結果。

getAsyncLocator(result)

指定した非同期的な挿入、更新、または削除操作の結果に関連付けられた asyncLocator を返します。

署名

public static String getAsyncLocator(Object result)

パラメーター

result
型: Object
非同期的な挿入、更新、または削除操作の保存済みの結果。結果オブジェクトは Database.SaveResult 型または Database.DeleteResult 型になります。

戻り値

型: String

指定した操作の結果に関連付けられる一意の識別子。

getAsyncSaveResult(saveResult)

Database.SaveResult オブジェクトで識別される非同期的な挿入または更新操作の状況を返します。

署名

public static Database.SaveResult getAsyncSaveResult(Database.SaveResult saveResult)

パラメーター

saveResult
型: Database.SaveResult
取得する挿入または更新操作の結果レコード。

戻り値

Database.SaveResult

レコードの非同期的な操作が完了した結果。

getAsyncSaveResult(asyncLocator)

各変更に関連付けられた一意の識別子に基づいて非同期的な挿入または更新操作の状況を返します。

署名

public static Database.SaveResult getAsyncSaveResult(String asyncLocator)

パラメーター

asyncLocator
型: String
非同期操作の結果に関連付けられる一意の識別子。

戻り値

Database.SaveResult

レコードの非同期的な操作が完了した結果。

getDeleted(sObjectType, startDate, endDate)

指定された開始日時と終了日時の期間内に sObject 型に対して削除されたものの、依然としてごみ箱にある個々のレコードのリストを返します。

署名

public static Database.GetDeletedResult getDeleted(String sObjectType, Datetime startDate, Datetime endDate)

パラメーター

sObjectType
型: String
sObjectType 引数は、sObject 型の名前であり、取引先または merchandise__c などの削除されたレコードがこの名前で取得されます。
startDate
型: Datetime
削除されたレコードの時間枠の開始日時です。
endDate
型: Datetime
削除されたレコードの時間枠の終了日時です。

戻り値

型: Database.GetDeletedResult

使用方法

ごみ箱ではレコードを最長 15 日間保持するため、コールが実行された日から 15 日以内の結果が返されます (システム管理者がごみ箱の中身を消去した場合、期間が短くなる場合があります)。

getQueryLocator(listofQueries)

Apex または Visualforce の一括処理で使用される QueryLocator オブジェクトを作成します。

署名

public static Database. QueryLocator getQueryLocator(sObject [] listOfQueries)

パラメーター

listOfQueries
型: sObject[]

戻り値

型: Database.QueryLocator

使用方法

集計関数が含まれるクエリで getQueryLocator を使用することはできません。

実行された各 getQueryLocator メソッドは、取得されるレコードの合計数と発行される SOQL クエリの合計数である 10,000 のガバナ制限に含まれます。

詳細は、「Apex による共有管理について」および「IdeaStandardSetController クラス」を参照してください。

getQueryLocator(query)

Apex または Visualforce の一括処理で使用される QueryLocator オブジェクトを作成します。

署名

public static Database.QueryLocator getQueryLocator(String query)

パラメーター

query
型: String

戻り値

型: Database.QueryLocator

使用方法

集計関数が含まれるクエリで getQueryLocator を使用することはできません。

実行された各 getQueryLocator メソッドは、取得されるレコードの合計数と発行される SOQL クエリの合計数である 10,000 のガバナ制限に含まれます。

詳細は、「Apex による共有管理について」および「StandardSetController クラス」を参照してください。

getQueryLocator(listofQueries, accessLevel)

Apex または Visualforce の一括処理で使用される QueryLocator オブジェクトを作成します。

署名

public static Database.QueryLocator getQueryLocator(sObject [] listofQueries, System.AccessLevel accessLevel)

パラメーター

listOfQueries
型: sObject[]
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.QueryLocator

使用方法

アクセスレベルは、QueryLocator の作成時にのみ評価されます。QueryLocator は、一括処理で使用するときなどに長く存続する場合があります。オブジェクトと項目レベルセキュリティは、QueryLocator を反復するたびに再評価されません。このため、ユーザーモードを指定してから、QueryLocator の作成後にセキュリティ設定を変更した場合、新しい設定は適用されません。

集計関数が含まれるクエリで getQueryLocator を使用することはできません。

実行された各 getQueryLocator メソッドは、取得されるレコードの合計数と発行される SOQL クエリの合計数である 10,000 のガバナ制限に含まれます。

詳細は、「Apex による共有管理について」および「IdeaStandardSetController クラス」を参照してください。

getQueryLocator(query, accessLevel)

Apex または Visualforce の一括処理で使用される QueryLocator オブジェクトを作成します。

署名

public static Database.QueryLocator getQueryLocator(String query, System.AccessLevel accessLevel)

パラメーター

query
型: String
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.QueryLocator

使用方法

アクセスレベルは、QueryLocator の作成時にのみ評価されます。QueryLocator は、一括処理で使用するときなどに長く存続する場合があります。オブジェクトと項目レベルセキュリティは、QueryLocator を反復するたびに再評価されません。このため、ユーザーモードを指定してから、QueryLocator の作成後にセキュリティ設定を変更した場合、新しい設定は適用されません。

集計関数が含まれるクエリで getQueryLocator を使用することはできません。

実行された各 getQueryLocator メソッドは、取得されるレコードの合計数と発行される SOQL クエリの合計数である 10,000 のガバナ制限に含まれます。

詳細は、「Apex による共有管理について」および「StandardSetController クラス」を参照してください。

getQueryLocatorWithBinds(query, bindMap, accessLevel)

Apex または Visualforce の一括処理で使用される QueryLocator オブジェクトを作成します。クエリのバインド変数は Apex コード変数からではなく、bindMap Map パラメーターからキーを使用して直接解決されます。

署名

public static Database.QueryLocator getQueryLocatorWithBinds(String query, Map<String, Object> bindMap, System.AccessLevel accessLevel)

パラメーター

query
型: String
先頭にコロンが付いた Apex バインド変数を含む SOQL クエリ。すべてのバインド変数では bindMap Map のキーが必要です。
bindMap
Type: Map<String, Object>
SOQL queryString で指定された各バインド変数のキーとその値を含む対応付け。キーは null にしたり重複させたりすることはできません。また、値は null にしたり空の文字列にしたりすることはできません。
accessLevel
型: System.AccessLevel
accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。

戻り値

型: Database.QueryLocator

使用方法

アクセスレベルは、QueryLocator の作成時にのみ評価されます。QueryLocator は、一括処理で使用するときなどに長く存続する場合があります。オブジェクトと項目レベルセキュリティは、QueryLocator を反復するたびに再評価されません。このため、ユーザーモードを指定してから、QueryLocator の作成後にセキュリティ設定を変更した場合、新しい設定は適用されません。

集計関数が含まれるクエリで getQueryLocatorWithBinds を使用することはできません。

実行された各 getQueryLocatorWithBinds メソッドは、Database.getQueryLocator(10,000) で取得されるレコードの合計数と発行される SOQL クエリの合計数のガバナ制限に含まれます。「トランザクション単位の Apex 制限」を参照してください。

詳細は、「Apex による共有管理について」および「StandardSetController クラス」を参照してください。

この例では、SOQL クエリで取引先名のバインド変数が使用されています。値 (Acme Corporation) は、acctBinds Map を使用して渡されます。

getUpdated(sobjectType, startDate, endDate)

指定された開始日時と終了日時の期間内に sObject 型に対して更新された個々のレコードのリストを返します。

署名

public static Database.GetUpdatedResult getUpdated(String sobjectType, Datetime startDate, Datetime endDate)

パラメーター

sobjectType
型: String

sObjectType 引数は、sObject 型の名前であり、取引先または merchandise__c などの更新されたレコードがこの名前で取得されます。

startDate
型: Datetime
startDate 引数は、更新されたレコードの時間枠の開始日時です。
endDate
型: Datetime
endDate 引数は、更新されたレコードの時間枠の終了日時です。

戻り値

型: Database.GetUpdatedResult

使用方法

返される結果の日付の範囲は、コールが実行された日から 30 日以内です。

insert(recordToInsert, allOrNone)

個別の取引先や取引先責任者など、sObject を組織のデータに追加します。

署名

public static Database.SaveResult insert(sObject recordToInsert, Boolean allOrNone)

パラメーター

recordToInsert
型: sObject
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.SaveResult

使用方法

insert は SQL の INSERT ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 insert メソッドは、DML ステートメントのガバナ制限に含まれます。

insert(recordsToInsert, allOrNone)

個別の取引先や取引先責任者など、1 つ以上の sObject を組織のデータに追加します。

署名

public static Database.SaveResult[] insert(sObject[] recordsToInsert, Boolean allOrNone)

パラメーター

recordsToInsert
型: sObject[]
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。パラメーターが false に指定されており、before トリガーによって無効な値が項目に割り当てられている場合は、一連の有効なレコードの一部が挿入されません。

戻り値

型: Database.SaveResult[]

使用方法

insert は SQL の INSERT ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 insert メソッドは、DML ステートメントのガバナ制限に含まれます。

例:

次の例では 2 つの取引先が挿入されます。

insert(recordToInsert, dmlOptions)

個別の取引先や取引先責任者など、sObject を組織のデータに追加します。

署名

public static Database.SaveResult insert(sObject recordToInsert, Database.DMLOptions dmlOptions)

パラメーター

recordToInsert
型: sObject
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。

戻り値

型: Database.SaveResult

使用方法

insert は SQL の INSERT ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 insert メソッドは、DML ステートメントのガバナ制限に含まれます。

insert(recordsToInsert, dmlOptions)

個別の取引先や取引先責任者など、1 つ以上の sObject を組織のデータに追加します。

署名

public static Database.SaveResult insert(sObject[] recordsToInsert, Database.DMLOptions dmlOptions)

パラメーター

recordsToInsert
型: sObject[]
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。

戻り値

型: Database.SaveResult[]

使用方法

insert は SQL の INSERT ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 insert メソッドは、DML ステートメントのガバナ制限に含まれます。

insert(recordToInsert, allOrNone, accessLevel)

個別の取引先や取引先責任者など、sObject を組織のデータに追加します。

署名

public static Database.SaveResult insert(SObject recordToInsert, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordToInsert
型: sObject
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.SaveResult

使用方法

accessLevel パラメーターを使用してメソッドをユーザーモードで実行することを指定した場合は、検出されたアクセス不可の項目がすべて報告されます。これらのアクセス不可の項目名の取得方法は、このメソッドの allOrNone パラメーターまたは同等の DmlOptions.optAllOrNone プロパティの値によって異なります。指定する値とその動作の説明を次に示します。
  • allOrNone=true または DmlOptions.optAllOrNone=true: DMLException をキャッチし、DMLException.getDMLFieldNames() メソッドを使用して、アクセス不可の項目のリストを取得します。詳細は、「Exception クラスおよび組み込み例外」を参照してください。
  • allOrNone=false または DmlOptions.optAllOrNone=false: 失敗レコードごとに、DML 操作で生成された Database.Error オブジェクトを更新します。アクセス不可の項目のリストを取得するには、Error.getFields() メソッドを使用します。詳細は、「Error クラスのメソッド」を参照してください。

insert は SQL の INSERT ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 insert メソッドは、DML ステートメントのガバナ制限に含まれます。

insert(recordsToInsert, allOrNone, accessLevel)

個別の取引先や取引先責任者など、1 つ以上の sObject を組織のデータに追加します。

署名

public static List<Database.SaveResult> insert(List<SObject> recordsToInsert, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordsToInsert
型: List<sObject>
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。パラメーターが false に指定されており、before トリガーによって無効な値が項目に割り当てられている場合は、一連の有効なレコードの一部が挿入されません。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.SaveResult>

使用方法

accessLevel パラメーターを使用してメソッドをユーザーモードで実行することを指定した場合は、検出されたアクセス不可の項目がすべて報告されます。これらのアクセス不可の項目名の取得方法は、このメソッドの allOrNone パラメーターまたは同等の DmlOptions.optAllOrNone プロパティの値によって異なります。指定する値とその動作の説明を次に示します。
  • allOrNone=true または DmlOptions.optAllOrNone=true: DMLException をキャッチし、DMLException.getDMLFieldNames() メソッドを使用して、アクセス不可の項目のリストを取得します。詳細は、「Exception クラスおよび組み込み例外」を参照してください。
  • allOrNone=false または DmlOptions.optAllOrNone=false: 失敗レコードごとに、DML 操作で生成された Database.Error オブジェクトを更新します。アクセス不可の項目のリストを取得するには、Error.getFields() メソッドを使用します。詳細は、「Error クラスのメソッド」を参照してください。

insert は SQL の INSERT ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 insert メソッドは、DML ステートメントのガバナ制限に含まれます。

insert(recordToInsert, dmlOptions, accessLevel)

個別の取引先や取引先責任者など、sObject を組織のデータに追加します。

署名

public static Database.SaveResult insert(SObject recordToInsert, Database.DMLOptions dmlOptions, System.AccessLevel accessLevel)

パラメーター

recordToInsert
型: sObject
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.SaveResult

使用方法

insert は SQL の INSERT ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 insert メソッドは、DML ステートメントのガバナ制限に含まれます。

insert(recordsToInsert, dmlOptions, accessLevel)

個別の取引先や取引先責任者など、1 つ以上の sObject を組織のデータに追加します。

署名

public static List<Database.SaveResult> insert(List<SObject> recordsToInsert, Database.DMLOptions dmlOptions, System.AccessLevel accessLevel)

パラメーター

recordsToInsert
型: List<sObject>
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.SaveResult>

使用方法

insert は SQL の INSERT ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 insert メソッドは、DML ステートメントのガバナ制限に含まれます。

insertAsync(sobjects, callback)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。リモート操作の完了後にレコードごとに processSave メソッドがコールされるコールバッククラスを参照できます。

署名

public static List<Database.SaveResult> insertAsync(List<SObject> sobjects, DataSource.AsyncSaveCallback callback)

パラメーター

sobjects
型: List<SObject>
挿入する外部オブジェクトレコードのリスト。
callback
型: DataSource.AsyncSaveCallback
元のコンテキストの状態と挿入操作の完了後に実行するアクション (processSave メソッド) を含むコールバックオブジェクト。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncSaveCallback を拡張する必要があります。

戻り値

型: List<Database.SaveResult>

挿入操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

使用方法

ポータルユーザーがコミュニティメンバーの場合でも、Database.insertAsync() メソッドをポータルユーザーのコンテキストで実行することはできません。Apex で外部オブジェクトレコードを追加するには、Database.insertImmediate() メソッドを使用します。

insertAsync(sobject, callback)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。リモート操作の完了後に processSave メソッドがコールされるコールバッククラスを参照できます。

署名

public static Database.SaveResult insertAsync(SObject sobject, DataSource.AsyncSaveCallback callback)

パラメーター

sobject
型: SObject
挿入する外部オブジェクトレコード。
callback
型: DataSource.AsyncSaveCallback
元のコンテキストの状態と挿入操作の完了後に実行するアクション (processSave メソッド) を含むコールバックオブジェクト。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncSaveCallback を拡張する必要があります。

戻り値

型: Database.SaveResult

挿入操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

使用方法

ポータルユーザーがコミュニティメンバーの場合でも、Database.insertAsync() メソッドをポータルユーザーのコンテキストで実行することはできません。Apex で外部オブジェクトレコードを追加するには、Database.insertImmediate() メソッドを使用します。

insertAsync(sobjects)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static List<Database.SaveResult> insertAsync(List<SObject> sobjects)

パラメーター

sobjects
型: List<SObject>
挿入する外部オブジェクトレコードのリスト。

戻り値

型: List<Database.SaveResult>

挿入操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関��付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

使用方法

ポータルユーザーがコミュニティメンバーの場合でも、Database.insertAsync() メソッドをポータルユーザーのコンテキストで実行することはできません。Apex で外部オブジェクトレコードを追加するには、Database.insertImmediate() メソッドを使用します。

insertAsync(sobject)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static Database.SaveResult insertAsync(SObject sobject)

パラメーター

sobject
型: SObject
挿入する外部オブジェクトレコード。

戻り値

型: Database.SaveResult

挿入操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

使用方法

ポータルユーザーがコミュニティメンバーの場合でも、Database.insertAsync() メソッドをポータルユーザーのコンテキストで実行することはできません。Apex で外部オブジェクトレコードを追加するには、Database.insertImmediate() メソッドを使用します。

insertAsync(sobjects, callback, accessLevel)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。リモート操作の完了後にレコードごとに processSave メソッドがコールされるコールバッククラスを参照できます。

署名

public static List<Database.SaveResult> insertAsync(List<SObject> sobjects, DataSource.AsyncSaveCallback callback, System.AccessLevel accessLevel)

パラメーター

sobjects
型: List<SObject>
挿入する外部オブジェクトレコードのリスト。
callback
型: DataSource.AsyncSaveCallback
元のコンテキストの状態と挿入操作の完了後に実行するアクション (processSave メソッド) を含むコールバックオブジェクト。実行モードは、accessLevel パラメーターにかかわらずシステムモードです。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncSaveCallback を拡張する必要があります。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.SaveResult>

挿入操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

使用方法

ポータルユーザーがコミュニティメンバーの場合でも、Database.insertAsync() メソッドをポータルユーザーのコンテキストで実行することはできません。Apex で外部オブジェクトレコードを追加するには、Database.insertImmediate() メソッドを使用します。

insertAsync(sobject, callback, accessLevel)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。リモート操作の完了後に processSave メソッドがコールされるコールバッククラスを参照できます。

署名

public static Database.SaveResult insertAsync(SObject sobject, DataSource.AsyncSaveCallback callback, System.AccessLevel accessLevel)

パラメーター

sobject
型: SObject
挿入する外部オブジェクトレコード。
callback
型: DataSource.AsyncSaveCallback
元のコンテキストの状態と挿入操作の完了後に実行するアクション (processSave メソッド) を含むコールバックオブジェクト。実行モードは、accessLevel パラメーターにかかわらずシステムモードです。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncSaveCallback を拡張する必要があります。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.SaveResult

挿入操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

使用方法

ポータルユーザーがコミュニティメンバーの場合でも、Database.insertAsync() メソッドをポータルユーザーのコンテキストで実行することはできません。Apex で外部オブジェクトレコードを追加するには、Database.insertImmediate() メソッドを使用します。

insertAsync(sobjects, accessLevel)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static List<Database.SaveResult> insertAsync(List<SObject> sobjects, System.AccessLevel accessLevel)

パラメーター

sobjects
型: List<SObject>
挿入する外部オブジェクトレコードのリスト。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.SaveResult>

挿入操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

使用方法

ポータルユーザーがコミュニティメンバーの場合でも、Database.insertAsync() メソッドをポータルユーザーのコンテキストで実行することはできません。Apex で外部オブジェクトレコードを追加するには、Database.insertImmediate() メソッドを使用します。

insertAsync(sobject, accessLevel)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static Database.SaveResult insertAsync(SObject sobject, System.AccessLevel accessLevel)

パラメーター

sobject
型: SObject
挿入する外部オブジェクトレコード。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.SaveResult

挿入操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

使用方法

ポータルユーザーがコミュニティメンバーの場合でも、Database.insertAsync() メソッドをポータルユーザーのコンテキストで実行することはできません。Apex で外部オブジェクトレコードを追加するには、Database.insertImmediate() メソッドを使用します。

insertImmediate(sobjects)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static List<Database.SaveResult> insertImmediate(List<SObject> sobjects)

パラメーター

sobjects
型: List<SObject>
挿入する外部オブジェクトレコードのリスト。

戻り値

型: List<Database.SaveResult>

挿入操作の状況の結果。

使用方法

部分的な完了が操作で許可されます。1 つ以上のレコード挿入が失敗した場合でも、例外は発生せず、残りの DML 操作を完了することができます。返された SaveResult オブジェクトは、操作が完了したかどうかを示します。完了しなかった場合、オブジェクトはエラーコードと説明も返します。

insertImmediate(sobject)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static Database.SaveResult insertImmediate(SObject sobject)

パラメーター

sobject
型: SObject
挿入する外部オブジェクトレコード。

戻り値

型: Database.SaveResult

挿入操作の状況の結果。

使用方法

レコード挿入が失敗しても例外は発生しません。返された SaveResult オブジェクトは、操作が完了したかどうかを示します。完了しなかった場合、オブジェクトはエラーコードと説明を返します。

insertImmediate(sobjects, accessLevel)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static List<Database.SaveResult> insertImmediate(List<SObject> sobjects, System.AccessLevel accessLevel)

パラメーター

sobjects
型: List<SObject>
挿入する外部オブジェクトレコードのリスト。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.SaveResult>

挿入操作の状況の結果。

使用方法

部分的な完了が操作で許可されます。1 つ以上のレコード挿入が失敗した場合でも、例外は発生せず、残りの DML 操作を完了することができます。返された SaveResult オブジェクトは、操作が完了したかどうかを示します。完了しなかった場合、オブジェクトはエラーコードと説明も返します。

insertImmediate(sobject, accessLevel)

関連する外部システムへの外部オブジェクトデータの追加要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static Database.SaveResult insertImmediate(SObject sobject, System.AccessLevel accessLevel)

パラメーター

sobject
型: SObject
挿入する外部オブジェクトレコード。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.SaveResult

挿入操作の状況の結果。

使用方法

レコード更新が失敗しても例外は発生しません。返された SaveResult オブジェクトは、操作が完了したかどうかを示します。完了しなかった場合、オブジェクトはエラーコードと説明を返します。

merge(masterRecord, duplicateId)

指定の重複レコードを同じ型のマスター sObject レコードにマージし、重複を削除して関連レコードの親を変更します。取引先、取引先責任者、またはリードのみをマージします。

署名

public static Database.MergeResult merge(sObject masterRecord, Id duplicateId)

パラメーター

masterRecord
型: sObject
重複レコードをマージするマスター sObject レコードです。
duplicateId
型: ID
マスターとマージするレコードの ID です。このレコードは、マスターと同じ sObject 型である必要があります。

戻り値

型: Database.MergeResult

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateRecord)

指定された重複する sObject レコードを同じ型のマスター sObject レコードにマージし、重複を削除して関連レコードの親を変更します。

署名

public static Database.MergeResult merge(sObject masterRecord, sObject duplicateRecord)

パラメーター

masterRecord
型: sObject
重複レコードをマージするマスター sObject レコードです。
duplicateRecord
型: sObject
マスターとマージする sObject レコードです。この sObject は、マスターと同じ型である必要があります。

戻り値

型: Database.MergeResult

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateIds)

同じ sObject 型のレコードを 2 つまでマスター sObject レコードにマージし、その他のレコードを削除して関連レコードの親を変更します。

署名

public static List<Database.MergeResult> merge(sObject masterRecord, List<Id> duplicateIds)

パラメーター

masterRecord
型: SObject
その他のレコードをマージするマスター sObject レコードです。
duplicateIds
型: List<Id>
マスターとマージする最大 2 つのレコードの ID のリストです。これらのレコードは、マスターと同じ sObject 型である必要があります。

戻り値

型: List<Database.MergeResult>

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateRecords)

同じオブジェクト種別のレコードを 2 つまでマスター sObject レコードにマージし、その他のレコードを削除して関連レコードの親を変更します。

署名

public static List<Database.MergeResult> merge(sObject masterRecord, List<SObject> duplicateRecords)

パラメーター

masterRecord
型: SObject
その他の sObject をマージするマスター sObject レコードです。
duplicateRecords
型: List<SObject>
マスターとマージする最大 2 つの sObject レコードのリストです。これらの sObject は、マスターと同じ型である必要があります。

戻り値

型: List<Database.MergeResult>

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateId, allOrNone)

指定された重複するレコードを同じ型のマスター sObject レコードにマージし、必要に応じて、エラーがある場合は返し、重複を削除して関連レコードの親を変更します。取引先、取引先責任者、またはリードのみをマージします。

署名

public static Database.MergeResult merge(sObject masterRecord, Id duplicateId, Boolean allOrNone)

パラメーター

masterRecord
型: sObject
重複レコードをマージするマスター sObject レコードです。
duplicate
型: ID
マスターとマージするレコードの ID です。このレコードは、マスターと同じ sObject 型である必要があります。
allOrNone
型: Boolean
返される結果の一部として、この操作で発生したエラーを返すには、false を設定します。true に設定すると、操作に失敗したときにこのメソッドで例外が発生します。デフォルトは true です。

戻り値

型: Database.MergeResult

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateRecord, allOrNone)

指定された重複する sObject レコードを同じ型のマスター sObject レコードにマージし、必要に応じて、エラーがある場合は返し、重複を削除して関連レコードの親を変更します。

署名

public static Database.MergeResult merge(sObject masterRecord, sObject duplicateRecord, Boolean allOrNone)

パラメーター

masterRecord
型: sObject
重複レコードをマージするマスター sObject レコードです。
duplicateRecord
型: sObject
マスターとマージする sObject レコードです。この sObject は、マスターと同じ型である必要があります。
allOrNone
型: Boolean
返される結果の一部として、この操作で発生したエラーを返すには、false を設定します。true に設定すると、操作に失敗したときにこのメソッドで例外が発生します。デフォルトは true です。

戻り値

型: Database.MergeResult

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateIds, allOrNone)

同じ sObject 型のレコードを 2 つまでマスター sObject レコードにマージし、必要に応じて、エラーがある場合は返し、重複を削除して、その他のレコードを削除して関連レコードの親を変更します。

署名

public static List<Database.MergeResult> merge(sObject masterRecord, List<Id> duplicateIds, Boolean allOrNone)

パラメーター

masterRecord
型: SObject
その他のレコードをマージするマスター sObject レコードです。
duplicateIds
型: List<Id>
マスターとマージする最大 2 つのレコードの ID のリストです。これらのレコードは、マスターと同じ sObject 型である必要があります。
allOrNone
型: Boolean
返される結果の一部として、この操作で発生したエラーを返すには、false を設定します。true に設定すると、操作に失敗したときにこのメソッドで例外が発生します。デフォルトは true です。

戻り値

型: List<Database.MergeResult>

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateRecords, allOrNone)

同じオブジェクト種別のレコードを 2 つまでマスター sObject レコードにマージし、必要に応じて、エラーがある場合は返し、重複を削除して、その他のレコードを削除して関連レコードの親を変更します。

署名

public static List<Database.MergeResult> merge(sObject masterRecord, List<SObject> duplicateRecords, Boolean allOrNone)

パラメーター

masterRecord
型: sObject
その他の sObject をマージするマスター sObject レコードです。
duplicateRecords
型: List<SObject>
マスターとマージする最大 2 つの sObject レコードのリストです。これらの sObject は、マスターと同じ型である必要があります。
allOrNone
型: Boolean
返される結果の一部として、この操作で発生したエラーを返すには、false を設定します。true に設定すると、操作に失敗したときにこのメソッドで例外が発生します。デフォルトは true です。

戻り値

型: List<Database.MergeResult>

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateId, accessLevel)

指定の重複レコードを同じ型のマスター sObject レコードにマージし、重複を削除して関連レコードの親を変更します。取引先、取引先責任者、またはリードのみをマージします。

署名

public static Database.MergeResult merge(SObject masterRecord, Id duplicateId, System.AccessLevel accessLevel)

パラメーター

masterRecord
型: sObject
重複レコードをマージするマスター sObject レコードです。
duplicateId
型: ID
マスターとマージするレコードの ID です。このレコードは、マスターと同じ sObject 型である必要があります。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.MergeResult

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateRecord, accessLevel)

指定された重複する sObject レコードを同じ型のマスター sObject レコードにマージし、重複を削除して関連レコードの親を変更します。

署名

public static Database.MergeResult merge(SObject masterRecord, SObject duplicateRecord, System.AccessLevel accessLevel)

パラメーター

masterRecord
型: sObject
重複レコードをマージするマスター sObject レコードです。
duplicateRecord
型: sObject
マスターとマージする sObject レコードです。この sObject は、マスターと同じ型である必要があります。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.MergeResult

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateIds, accessLevel)

同じ sObject 型のレコードを 2 つまでマスター sObject レコードにマージし、その他のレコードを削除して関連レコードの親を変更します。

署名

public static List<Database.MergeResult> merge(SObject masterRecord, List<Id> duplicateIds, System.AccessLevel accessLevel)

パラメーター

masterRecord
型: SObject
その他のレコードをマージするマスター sObject レコードです。
duplicateIds
型: List<Id>
マスターとマージする最大 2 つのレコードの ID のリストです。これらのレコードは、マスターと同じ sObject 型である必要があります。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.MergeResult>

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateRecords, accessLevel)

同じオブジェクト種別のレコードを 2 つまでマスター sObject レコードにマージし、その他のレコードを削除して関連レコードの親を変更します。

署名

public static List<Database.MergeResult> merge(SObject masterRecord, List<SObject> duplicateRecords, System.AccessLevel accessLevel)

パラメーター

masterRecord
型: SObject
その他の sObject をマージするマスター sObject レコードです。
duplicateRecords
型: List<SObject>
マスターとマージする最大 2 つの sObject レコードのリストです。これらの sObject は、マスターと同じ型である必要があります。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.MergeResult>

使用方法

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateId, allOrNone, accessLevel)

指定された重複するレコードを同じ型のマスター sObject レコードにマージし、必要に応じて、エラーがある場合は返し、重複を削除して関連レコードの親を変更します。取引先、取引先責任者、またはリードのみをマージします。

署名

public static Database.MergeResult merge(SObject masterRecord, Id duplicateId, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

masterRecord
型: sObject
重複レコードをマージするマスター sObject レコードです。
duplicateId
型: ID
マスターとマージするレコードの ID です。このレコードは、マスターと同じ sObject 型である必要があります。
allOrNone
型: Boolean
返される結果の一部として、この操作で発生したエラーを返すには、false を設定します。true に設定すると、操作に失敗したときにこのメソッドで例外が発生します。デフォルトは、true です。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは���現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.MergeResult

使用方法

accessLevel パラメーターを使用してメソッドをユーザーモードで実行することを指定した場合は、検出されたアクセス不可の項目がすべて報告されます。これらのアクセス不可の項目名の取得方法は、このメソッドの allOrNone パラメーターまたは同等の DmlOptions.optAllOrNone プロパティの値によって異なります。指定する値とその動作の説明を次に示します。
  • allOrNone=true または DmlOptions.optAllOrNone=true: DMLException をキャッチし、DMLException.getDMLFieldNames() メソッドを使用して、アクセス不可の項目のリストを取得します。詳細は、「Exception クラスおよび組み込み例外」を参照してください。
  • allOrNone=false または DmlOptions.optAllOrNone=false: 失敗レコードごとに、DML 操作で生成された Database.Error オブジェクトを更新します。アクセス不可の項目のリストを取得するには、Error.getFields() メソッドを使用します。詳細は、「Error クラスのメソッド」を参照してください。

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateRecord, allOrNone, accessLevel)

指定された重複する sObject レコードを同じ型のマスター sObject レコードにマージし、必要に応じて、エラーがある場合は返し、重複を削除して関連レコードの親を変更します。

署名

public static Database.MergeResult merge(SObject masterRecord, SObject duplicateRecord, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

masterRecord
型: sObject
重複レコードをマージするマスター sObject レコードです。
duplicateRecord
型: sObject
マスターとマージする sObject レコードです。この sObject は、マスターと同じ型である必要があります。
allOrNone
型: Boolean
返される結果の一部として、この操作で発生したエラーを返すには、false を設定します。true に設定すると、操作に失敗したときにこのメソッドで例外が発生します。デフォルトは、true です。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.MergeResult

使用方法

accessLevel パラメーターを使用してメソッドをユーザーモードで実行することを指定した場合は、検出されたアクセス不可の項目がすべて報告されます。これらのアクセス不可の項目名の取得方法は、このメソッドの allOrNone パラメーターまたは同等の DmlOptions.optAllOrNone プロパティの値によって異なります。指定する値とその動作の説明を次に示します。
  • allOrNone=true または DmlOptions.optAllOrNone=true: DMLException をキャッチし、DMLException.getDMLFieldNames() メソッドを使用して、アクセス不可の項目のリストを取得します。詳細は、「Exception クラスおよび組み込み例外」を参照してください。
  • allOrNone=false または DmlOptions.optAllOrNone=false: 失敗レコードごとに、DML 操作で生成された Database.Error オブジェクトを更新します。アクセス不可の項目のリストを取得するには、Error.getFields() メソッドを使用します。詳細は、「Error クラスのメソッド」を参照してください。

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateIds, allOrNone, accessLevel)

同じ sObject 型のレコードを 2 つまでマスター sObject レコードにマージし、必要に応じて、エラーがある場合は返し、重複を削除して、その他のレコードを削除して関連レコードの親を変更します。

署名

public static List<Database.MergeResult> merge(SObject masterRecord, List<Id> duplicateIds, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

masterRecord
型: SObject
その他のレコードをマージするマスター sObject レコードです。
duplicateIds
型: List<Id>
マスターとマージする最大 2 つのレコードの ID のリストです。これらのレコードは、マスターと同じ sObject 型である必要があります。
allOrNone
型: Boolean
返される結果の一部として、この操作で発生したエラーを返すには、false を設定します。true に設定すると、操作に失敗したときにこのメソッドで例外が発生します。デフォルトは、true です。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.MergeResult>

使用方法

accessLevel パラメーターを使用してメソッドをユーザーモードで実行することを指定した場合は、検出されたアクセス不可の項目がすべて報告されます。これらのアクセス不可の項目名の取得方法は、このメソッドの allOrNone パラメーターまたは同等の DmlOptions.optAllOrNone プロパティの値によって異なります。指定する値とその動作の説明を次に示します。
  • allOrNone=true または DmlOptions.optAllOrNone=true: DMLException をキャッチし、DMLException.getDMLFieldNames() メソッドを使用して、アクセス不可の項目のリストを取得します。詳細は、「Exception クラスおよび組み込み例外」を参照してください。
  • allOrNone=false または DmlOptions.optAllOrNone=false: 失敗レコードごとに、DML 操作で生成された Database.Error オブジェクトを更新します。アクセス不可の項目のリストを取得するには、Error.getFields() メソッドを使用します。詳細は、「Error クラスのメソッド」を参照してください。

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

merge(masterRecord, duplicateRecords, allOrNone, accessLevel)

同じオブジェクト種別のレコードを 2 つまでマスター sObject レコードにマージし、必要に応じて、エラーがある場合は返し、重複を削除して、その他のレコードを削除して関連レコードの親を変更します。

署名

public static List<Database.MergeResult> merge(SObject masterRecord, List<SObject> duplicateRecords, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

masterRecord
型: sObject
その他の sObject をマージするマスター sObject レコードです。
duplicateRecords
型: List<SObject>
マスターとマージする最大 2 つの sObject レコードのリストです。これらの sObject は、マスターと同じ型である必要があります。
allOrNone
型: Boolean
返される結果の一部として、この操作で発生したエラーを返すには、false を設定します。true に設定すると、操作に失敗したときにこのメソッドで例外が発生します。デフォルトは、true です。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.MergeResult>

使用方法

accessLevel パラメーターを使用してメソッドをユーザーモードで実行することを指定した場合は、検出されたアクセス不可の項目がすべて報告されます。これらのアクセス不可の項目名の取得方法は、このメソッドの allOrNone パラメーターまたは同等の DmlOptions.optAllOrNone プロパティの値によって異なります。指定する値とその動作の説明を次に示します。
  • allOrNone=true または DmlOptions.optAllOrNone=true: DMLException をキャッチし、DMLException.getDMLFieldNames() メソッドを使用して、アクセス不可の項目のリストを取得します。詳細は、「Exception クラスおよび組み込み例外」を参照してください。
  • allOrNone=false または DmlOptions.optAllOrNone=false: 失敗レコードごとに、DML 操作で生成さ��た Database.Error オブジェクトを更新します。アクセス不可の項目のリストを取得するには、Error.getFields() メソッドを使用します。詳細は、「Error クラスのメソッド」を参照してください。

実行された各 merge メソッドは、DML ステートメントのガバナ制限に含まれます。

query(queryString)

実行時に動的 SOQL クエリを作成します。

署名

public static List<SObject> query(String queryString)

パラメーター

queryString
型: String

戻り値

型: List<sObject>

使用方法

このメソッドは、通常の割り当てステートメントや for ループなど、静的 SOQL クエリが使用可能な場合に使用できます。インライン SOQL 項目の場合とは異なり、バインド変数はサポートされていません。

詳細は、「動的 SOQL」を参照してください。

実行された各 query メソッドは、SOQL クエリのガバナ制限に含まれます。

query(queryString, accessLevel)

実行時に動的 SOQL クエリを作成します。

署名

public static List<SObject> query(String queryString, System.AccessLevel accessLevel)

パラメーター

queryString
型: String
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<sObject>

使用方法

このメソッドは、通常の割り当てステートメントや for ループなど、静的 SOQL クエリが使用可能な場合に使用できます。インライン SOQL 項目の場合とは異なり、バインド変数はサポートされていません。

詳細は、「動的 SOQL」を参照してください。

実行された各 query メソッドは、SOQL クエリのガバナ制限に含まれます。

queryWithBinds(queryString, bindMap, accessLevel)

実行時に動的 SOQL クエリを作成します。クエリのバインド変数は Apex コード変数からではなく、bindMap Map パラメーターからキーを使用して直接解決されます。

署名

public static List<SObject> queryWithBinds(String queryString, Map<String, Object> bindMap, System.AccessLevel accessLevel)

パラメーター

queryString
型: String
先頭にコロンが付いた Apex バインド変数または式を含む SOQL クエリ。すべてのバインド変数では bindMap Map のキーが必要です。
bindMap
Type: Map<String, Object>
SOQL queryString で指定された各バインド変数のキーとその値を含む対応付け。キーは null にしたり重複させたりすることはできません。また、値は null にしたり空の文字列にしたりすることはできません。
accessLevel
型: System.AccessLevel
accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。

戻り値

型: List<sObject>

使用方法

このメソッドは、通常の割り当てステートメントや for ループなど、静的 SOQL クエリが使用可能な場合に使用できます。

詳細は、「動的 SOQL」を参照してください。

実行された各 queryWithBinds メソッドは、SOQL クエリのガバナ制限に含まれます。

この例では、SOQL クエリで取引先名のバインド変数が使用されています。値 (Acme Inc.) は、nameBind Map を使用してメソッドに渡されます。クエリがメソッド内で実行されたときに、accountName 変数は範囲内に含まれません (また範囲内に含まれている必要はありません)。

releaseSavepoint(databaseSavepoint)

指定された savepoint をリリースします。指定された savepoint 以降の savepoint もすべてリリースされます。

署名

public static void releaseSavepoint(System.Savepoint databaseSavepoint)

パラメーター

databaseSavepoint
型: System.Savepoint

戻り値

型: void

rollback(databaseSavepoint)

データベースを、savepoint 変数で指定された状態に復元します。最後の savepoint 後に送信されたメールもロールバックされ、送信されません。

署名

public static Void rollback(System.Savepoint databaseSavepoint)

パラメーター

databaseSavepoint
型: System.Savepoint

戻り値

型: Void

使用方法

次の点に注意してください。
  • ロールバック中、静的変数は戻されません。トリガーの実行を再試行する場合、静的変数には最初の実行から得た値が維持されます。

  • 各ロールバックは、DML ステートメントのガバナ制限に含まれます。データベースをそれ以上の回数ロールバックしようとすると、ランタイムエラーが発生します。
  • savepoint の設定後に挿入された sObject の ID は、ロールバック後にクリアされません。ロールバック後に挿入するには、sObject を作成します。ロールバック前に作成した変数を使用して sObject を挿入しようとすると、その sObject 変数には ID があるため失敗します。同じ変数を使用して sObject を更新または更新/挿入しようとした場合も、sObject はデータベース内に存在せず、更新できないため失敗します。

「トランザクションの制御」の例を参照してください。

setSavepoint()

ローカル変数として保存でき、rollback メソッドで使用してデータベースをその時点に復元できる savepoint 変数を返します。

署名

public static System.Savepoint setSavepoint()

戻り値

型: System.Savepoint

使用方法

次の点に注意してください。
  • 複数の savepoint を設定し、生成した最新 savepoint ではない savepoint にロールバックすると、ロールバックされた savepoint 変数は無効になります。たとえば、最初に savepoint SP1 を生成し、次に savepoint SP2 を生成した場合、SP1 にロールバックすると、変数 SP2 は無効になります。その変数を使用しようとすると、ランタイムエラーが発生します。
  • 各トリガー呼び出しが新しいトリガーコンテキストであるため、savepoints への参照は、トリガー呼び出しを通過することはできません。静的変数として savepoint を宣言し、トリガーコンテキスト全体で使用しようとすると、ランタイムエラーが発生します。
  • 設定した各セーブポイントは、DML ステートメントのガバナ制限に含まれます。

「トランザクションの制御」の例を参照してください。

undelete(recordToUndelete, allOrNone)

個別の取引先や取引先責任者など、既存の sObject レコードを組織のごみ箱から復元します。

署名

public static Database.UndeleteResult undelete(sObject recordToUndelete, Boolean allOrNone)

パラメーター

recordToUndelete
型: sObject
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.UndeleteResult

使用方法

undelete は SQL の UNDELETE ステートメントに類似しています。

実行された各 undelete メソッドは、DML ステートメントのガバナ制限に含まれます。

undelete(recordsToUndelete, allOrNone)

個別の取引先や取引先責任者など、1 つ以上の既存の sObject レコードを組織のごみ箱から復元します。

署名

public static Database.UndeleteResult[] undelete(sObject[] recordsToUndelete, Boolean allOrNone)

パラメーター

recordsToUndelete
型: sObject[]
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.UndeleteResult[]

使用方法

undelete は SQL の UNDELETE ステートメントに類似しています。

実行された各 undelete メソッドは、DML ステートメントのガバナ制限に含まれます。

次の例では、「Universal Containers」という名前のすべての取引先が復元されます。ALL ROWS キーワードは、削除されたレコードやアーカイブ済みの活��を含め、最上位リレーションと集計リレーションの両方にあるすべての行を照会します。

undelete(recordID, allOrNone)

個別の取引先や取引先責任者など、既存の sObject レコードを組織のごみ箱から復元します。

署名

public static Database.UndeleteResult undelete(ID recordID, Boolean allOrNone)

パラメーター

recordID
型: ID
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.UndeleteResult

使用方法

undelete は SQL の UNDELETE ステートメントに類似しています。

実行された各 undelete メソッドは、DML ステートメントのガバナ制限に含まれます。

undelete(recordIDs, allOrNone)

個別の取引先や取引先責任者など、1 つ以上の既存の sObject レコードを組織のごみ箱から復元します。

署名

public static Database.UndeleteResult[] undelete(ID[] recordIDs, Boolean allOrNone)

パラメーター

RecordIDs
型: ID[]
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.UndeleteResult[]

使用方法

undelete は SQL の UNDELETE ステートメントに類似しています。

実行された各 undelete メソッドは、DML ステートメントのガバナ制限に含まれます。

undelete(recordToUndelete, allOrNone, accessLevel)

個別の取引先や取引先責任者など、既存の sObject レコードを組織のごみ箱から復元します。

署名

public static Database.UndeleteResult undelete(SObject recordToUndelete, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordToUndelete
型: SObject
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.UndeleteResult

使用方法

undelete は SQL の UNDELETE ステートメントに類似しています。

実行された各 undelete メソッドは、DML ステートメントのガバナ制限に含まれます。

undelete(recordsToUndelete, allOrNone, accessLevel)

個別の取引先や取引先責任者など、1 つ以上の既存の sObject レコードを組織のごみ箱から復元します。

署名

public static List<Database.UndeleteResult> undelete(List<SObject> recordsToUndelete, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordsToUndelete
型: List<sObject>
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.UndeleteResult>

使用方法

undelete は SQL の UNDELETE ステートメントに類似しています。

実行された各 undelete メソッドは、DML ステートメントのガバナ制限に含まれます。

undelete(recordID, allOrNone, accessLevel)

個別の取引先や取引先責任者など、既存の sObject レコードを組織のごみ箱から復元します。

署名

public static Database.UndeleteResult undelete(Id recordID, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordID
型: Id
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.UndeleteResult

使用方法

undelete は SQL の UNDELETE ステートメントに類似しています。

実行された各 undelete メソッドは、DML ステートメントのガバナ制限に含まれます。

undelete(recordIDs, allOrNone, accessLevel)

個別の取引先や取引先責任者など、1 つ以上の既存の sObject レコードを組織のごみ箱から復元します。

署名

public static List<Database.UndeleteResult> undelete(List<Id> recordIDs, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordIDs
型: List<ID>
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.UndeleteResult>

使用方法

undelete は SQL の UNDELETE ステートメントに類似しています。

実行された各 undelete メソッドは、DML ステートメントのガバナ制限に含まれます。

update(recordToUpdate, allOrNone)

個別の取引先または取引先責任者など、組織のデータ内の既存の sObject レコードを更新します。

署名

public static Database.SaveResult update(sObject recordToUpdate, Boolean allOrNone)

パラメーター

recordToUpdate
型: sObject
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.SaveResult

使用方法

update は SQL の UPDATE ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 update メソッドは、DML ステートメントのガバナ制限に含まれます。

次の例では、1 つの取引先の BillingCity 項目が更新されます。

update(recordsToUpdate, allOrNone)

個別の取引先や取引先責任者など、組織のデータ内の 1 つ以上の既存の sObject レコードを更新します。

署名

public static Database.SaveResult[] update(sObject[] recordsToUpdate, Boolean allOrNone)

パラメーター

recordsToUpdate
型: sObject[]
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.SaveResult[]

使用方法

update は SQL の UPDATE ステートメントに類似しています。

実行された各 update メソッドは、DML ステートメントのガバナ制限に含まれます。

update(recordToUpdate, dmlOptions)

個別の取引先または取引先責任者など、組織のデータ内の既存の sObject レコードを更新します。

署名

public static Database.SaveResult update(sObject recordToUpdate, Database.DmlOptions dmlOptions)

パラメーター

recordToUpdate
型: sObject
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。

戻り値

型: Database.SaveResult

使用方法

update は SQL の UPDATE ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 update メソッドは、DML ステートメントのガバナ制限に含まれます。

update(recordsToUpdate, dmlOptions)

個別の取引先や取引先責任者など、組織のデータ内の 1 つ以上の既存の sObject レコードを更新します。

署名

public static Database.SaveResult[] update(sObject[] recordsToUpdate, Database.DMLOptions dmlOptions)

パラメーター

recordsToUpdate
型: sObject[]
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。

戻り値

型: Database.SaveResult[]

使用方法

update は SQL の UPDATE ステートメントに類似しています。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 update メソッドは、DML ステートメントのガバナ制限に含まれます。

update(recordToUpdate, allOrNone, accessLevel)

個別の取引先または取引先責任者など、組織のデータ内の既存の sObject レコードを更新します。

署名

public static Database.SaveResult update(SObject recordToUpdate, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordToUpdate
型: SObject
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.SaveResult

使用方法

accessLevel パラメーターを使用してメソッドをユーザーモードで実行することを指定した場合は、検出されたアクセス不可の項目がすべて報告されます。これらのアクセス不可の項目名の取得方法は、このメソッドの allOrNone パラメーターまたは同等の DmlOptions.optAllOrNone プロパティの値によって異なります。指定する値とその動作の説明を次に示します。
  • allOrNone=true または DmlOptions.optAllOrNone=true: DMLException をキャッチし、DMLException.getDMLFieldNames() メソッドを使用して、アクセス不可の項目のリストを取得します。詳細は、「Exception クラスおよび組み込み例外」を参照してください。
  • allOrNone=false または DmlOptions.optAllOrNone=false: 失敗レコードごとに、DML 操作で生成された Database.Error オブジェクトを更新します。アクセス不可の項目のリストを取得するには、Error.getFields() メソッドを使用します。詳細は、「Error クラスのメソッド」を参照してください。

update(recordsToUpdate, allOrNone, accessLevel)

個別の取引先や取引先責任者など、組織のデータ内の 1 つ以上の既存の sObject レコードを更新します。

署名

public static List<Database.SaveResult> update(List<SObject> recordsToUpdate, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordsToUpdate
型: List<sObject>
allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.SaveResult>

使用方法

accessLevel パラメーターを使用してメソッドをユーザーモードで実行することを指定した場合は、検出されたアクセス不可の項目がすべて報告されます。これらのアクセス不可の項目名の取得方法は、このメソッドの allOrNone パラメーターまたは同等の DmlOptions.optAllOrNone プロパティの値によって異なります。指定する値とその動作の説明を次に示します。
  • allOrNone=true または DmlOptions.optAllOrNone=true: DMLException をキャッチし、DMLException.getDMLFieldNames() メソッドを使用して、アクセス不可の項目のリストを取得します。詳細は、「Exception クラスおよび組み込み例外」を参照してください。
  • allOrNone=false または DmlOptions.optAllOrNone=false: 失敗レコードごとに、DML 操作で生成された Database.Error オブジェクトを更新します。アクセス不可の項目のリストを取得するには、Error.getFields() メソッドを使用します。詳細は、「Error クラスのメソッド」を参照してください。

update(recordToUpdate, dmlOptions, accessLevel)

個別の取引先または取引先責任者など、組織のデータ内の既存の sObject レコードを更新します。

署名

public static Database.SaveResult update(SObject recordToUpdate, Database.DMLOptions dmlOptions, System.AccessLevel accessLevel)

パラメーター

recordToUpdate
型: SObject
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.SaveResult

update(recordsToUpdate, dmlOptions, accessLevel)

個別の取引先や取引先責任者など、組織のデータ内の 1 つ以上の既存の sObject レコードを更新します。

署名

public static List<Database.SaveResult> update(List<SObject> recordsToUpdate, Database.DMLOptions dmlOptions, System.AccessLevel accessLevel)

パラメーター

recordsToUpdate
型: List<sObject>
dmlOptions
型: Database.DMLOptions
(省略可能) dmlOptions パラメーターは、レコード挿入時にエラーが発生した場合の割り当てルールの情報やロールバック動作など、トランザクションの追加データを指定します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.SaveResult>

upsert(recordToUpsert, externalIdField, allOrNone)

既存のオブジェクトが存在するかを判別するために指定された項目を使用するか、項目が指定されていない場合は ID 項目を使用して、1 つのステートメント内で新しい sObject レコードの作成や既存の sObject レコードの更新を行います。

署名

public static Database.UpsertResult upsert(sObject recordToUpsert, Schema.SObjectField externalIDField, Boolean allOrNone)

パラメーター

recordToUpsert
型: sObject
externalIdField
型: Schema.SObjectField
(省略可能) externalIdFieldSchema.SObjectField のデータ型、つまり項目トークンです。fields 特殊メソッドを使用して、項目のトークンを検索します。たとえば、Schema.SObjectField f = Account.Fields.MyExternalId です。externalIdField パラメーターは、upsert() が sObject を既存のレコードと照合するために使用する項目です。この項目は、外部 ID としてマークされたカスタム項目か、idLookup 属性のある標準項目にすることができます。

externalIdField が指定されていない場合、既存のレコードとの一致を判断するために ID 項目が使用されます。

メモ

allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。

戻り値

型: Database.UpsertResult

使用方法

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 upsert メソッドは、DML ステートメントのガバナ制限に含まれます。

更新/挿入操作の仕組みについ��詳細は、「Upsert ステートメント」を参照してください。

upsert(recordsToUpsert, externalIdField, allOrNone)

既存のオブジェクトが存在するかを判別するために指定された項目を使用するか、項目が指定されていない場合は ID 項目を使用して、1 つのステートメント内で新しい sObject レコードの作成や既存の sObject レコードの更新を行います。

署名

public static Database.UpsertResult[] upsert(sObject[] recordsToUpsert, Schema.SObjectField externalIdField, Boolean allOrNone)

パラメーター

recordsToUpsert
型: sObject[]
externalIdField
型: Schema.SObjectField
(省略可能) externalIdFieldSchema.SObjectField のデータ型、つまり項目トークンです。fields 特殊メソッドを使用して、項目のトークンを検索します。たとえば、Schema.SObjectField f = Account.Fields.MyExternalId です。externalIdField パラメーターは、upsert() が sObject を既存のレコードと照合するために使用する項目です。この項目は、外部 ID としてマークされたカスタム項目か、idLookup 属性のある標準項目にすることができます。

externalIdField が指定されていない場合、既存のレコードとの一致を判断するために ID 項目が使用されます。

メモ

allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。パラメーターが false に指定されており、before トリガーによって無効な値が項目に割り当てられている場合は、一連の有効なレコードの一部が挿入されません。

戻り値

型: Database.UpsertResult[]

使用方法

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 upsert メソッドは、DML ステートメントのガバナ制限に含まれます。

更新/挿入操作の仕組みについて詳細は、「Upsert ステートメント」を参照してください。

upsert(recordToUpsert, externalIdField, allOrNone, accessLevel)

既存のオブジェクトが存在するかを判別するために指定された項目を使用するか、項目が指定されていない場合は ID 項目を使用して、1 つのステートメント内で新しい sObject レコードの作成や既存の sObject レコードの更新を行います。

署名

public static Database.UpsertResult upsert(SObject recordToUpsert, Schema.SObjectField externalIdField, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordToUpsert
型: SObject
externalIdField
型: Schema.SObjectField
(省略可能) externalIdFieldSchema.SObjectField のデータ型、つまり項目トークンです。fields 特殊メソッドを使用して、項目のトークンを検索します。たとえば、Schema.SObjectField f = Account.Fields.MyExternalId です。externalIdField パラメーターは、upsert() が sObject を既存のレコードと照合するために使用する項目です。この項目は、外部 ID としてマークされたカスタム項目か、idLookup 属性のある標準項目にすることができます。

externalIdField が指定されていない場合、既存のレコードとの一致を判断するために ID 項目が使用されます。

メモ

allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシ��テムモードです。

戻り値

型: Database.UpsertResult

使用方法

accessLevel パラメーターを使用してメソッドをユーザーモードで実行することを指定した場合は、検出されたアクセス不可の項目がすべて報告されます。これらのアクセス不可の項目名の取得方法は、このメソッドの allOrNone パラメーターまたは同等の DmlOptions.optAllOrNone プロパティの値によって異なります。指定する値とその動作の説明を次に示します。
  • allOrNone=true または DmlOptions.optAllOrNone=true: DMLException をキャッチし、DMLException.getDMLFieldNames() メソッドを使用して、アクセス不可の項目のリストを取得します。詳細は、「Exception クラスおよび組み込み例外」を参照してください。
  • allOrNone=false または DmlOptions.optAllOrNone=false: 失敗レコードごとに、DML 操作で生成された Database.Error オブジェクトを更新します。アクセス不可の項目のリストを取得するには、Error.getFields() メソッドを使用します。詳細は、「Error クラスのメソッド」を参照してください。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 upsert メソッドは、DML ステートメントのガバナ制限に含まれます。

更新/挿入操作の仕組みについて詳細は、「Upsert ステートメント」を参照してください。

upsert(recordsToUpsert, externalIdField, allOrNone, accessLevel)

既存のオブジェクトが存在するかを判別するために指定された項目を使用するか、項目が指定されていない場合は ID 項目を使用して、1 つのステートメント内で新しい sObject レコードの作成や既存の sObject レコードの更新を行います。

署名

public static List<Database.UpsertResult> upsert(List<SObject> recordsToUpsert, Schema.SObjectField externalIdField, Boolean allOrNone, System.AccessLevel accessLevel)

パラメーター

recordsToUpsert
型: List<sObject >
externalIdField
型: Schema.SObjectField
(省略可能) externalIdFieldSchema.SObjectField のデータ型、つまり項目トークンです。fields 特殊メソッドを使用して、項目のトークンを検索します。たとえば、Schema.SObjectField f = Account.Fields.MyExternalId です。externalIdField パラメーターは、upsert() が sObject を既存のレコードと照合するために使用する項目です。この項目は、外部 ID としてマークされたカスタム項目か、idLookup 属性のある標準項目にすることができます。

externalIdField が指定されていない場合、既存のレコードとの一致を判断するために ID 項目が使用されます。

メモ

allOrNone
型: Boolean
(省略可能) allOrNone パラメーターは、操作で部分的な完了を許可するかどうかを指定します。このパラメーターを false に設定した場合、レコードが失敗しても、残りの DML 操作を正常に完了できます。このメソッドは、どのレコードが成功または失敗したか、およびその理由の確認に使用できる結果オブジェクトを返します。パラメーターが設定されていないか true に設定されている場合、メソッドが失敗すると例外が発生します。パラメーターが false に指定されており、before トリガーによって無効な値が項目に割り当てられている場合は、一連の有効なレコードの一部が挿入されません。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.UpsertResult>

使用方法

accessLevel パラメーターを使用してメソッドをユーザーモードで実行することを指定した場合は、検出されたアクセス不可の項目がすべて報告されます。これらのアクセス不可の項目名の取得方法は、このメソッドの allOrNone パラメーターまたは同等の DmlOptions.optAllOrNone プロパティの値によって異なります。指定する値とその動作の説明を次に示します。
  • allOrNone=true または DmlOptions.optAllOrNone=true: DMLException をキャッチし、DMLException.getDMLFieldNames() メソッドを使用して、アクセス不可の項目のリストを取得します。詳細は、「Exception クラスおよび組み込み例外」を参照してください。
  • allOrNone=false または DmlOptions.optAllOrNone=false: 失敗レコードごとに、DML 操作で生成された Database.Error オブジェクトを更新します。アクセス不可の項目のリストを取得するには、Error.getFields() メソッドを使用します。詳細は、「Error クラスのメソッド」を参照してください。

項目に割り当てた文字列値が長すぎる場合、API バージョン 15.0 以降を使用して保存 (コンパイル) した Apex クラスとトリガーにはランタイムエラーが発生します。

実行された各 upsert メソッドは、DML ステートメントのガバナ制限に含まれます。

更新/挿入操作の仕組みについて詳細は、「Upsert ステートメント」を参照してください。

updateAsync(sobjects, callback)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。リモート操作の完了後にレコードごとに processSave メソッドがコールされるコールバッククラスを参照できます。

署名

public static List<Database.SaveResult> updateAsync(List<SObject> sobjects, DataSource.AsyncSaveCallback callback)

パラメーター

sobjects
型: List<SObject>
変更する外部オブジェクトレコードのリスト。
callback
型: DataSource.AsyncSaveCallback
元のコンテキストの状態と挿入操作の完了後に実行するアクション (processSave メソッド) を含むコールバックオブジェクト。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncSaveCallback を拡張する必要があります。

戻り値

型: List<Database.SaveResult>

更新操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

updateAsync(sobject, callback)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。リモート操作の完了後に processSave メソッドがコールされるコールバッククラスを参照できます。

署名

public static Database.SaveResult updateAsync(SObject sobject, DataSource.AsyncSaveCallback callback)

パラメーター

sobject
型: SObject
変更する外部オブジェクトレコード。
callback
型: DataSource.AsyncSaveCallback
元のコンテキストの状態と挿入操作の完了後に実行するアクション (processSave メソッド) を含むコールバックオブジェクト。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncSaveCallback を拡張する必要があります。

戻り値

型: Database.SaveResult

挿入操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

updateAsync(sobjects)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static List<Database.SaveResult> updateAsync(List<SObject> sobjects)

パラメーター

sobjects
型: List<SObject>
変更する外部オブジェクトレコードのリスト。

戻り値

型: List<Database.SaveResult>

更新操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

updateAsync(sobject)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static Database.SaveResult updateAsync(SObject sobject)

パラメーター

sobject
型: SObject
変更する外部オブジェクトレコード。

戻り値

型: Database.SaveResult

挿入操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

updateAsync(sobjects, callback, accessLevel)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。リモート操作の完了後にレコードごとに processSave メソッドがコールされるコールバッククラスを参照できます。

署名

public static List<Database.SaveResult> updateAsync(List<SObject> sobjects, DataSource.AsyncSaveCallback callback, System.AccessLevel accessLevel)

パラメーター

sobjects
型: List<SObject>
変更する外部オブジェクトレコードのリスト。
callback
型: DataSource.AsyncSaveCallback
元のコンテキストの状態と挿入操作の完了後に実行するアクション (processSave メソッド) を含むコールバックオブジェクト。実行モードは、accessLevel パラメーターにかかわらずシステムモードです。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncSaveCallback を拡張する必要があります。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.SaveResult>

更新操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

updateAsync(sobject, callback, accessLevel)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。リモート操作の完了後に processSave メソッドがコールされるコールバッククラスを参照できます。

署名

public static Database.SaveResult updateAsync(SObject sobject, DataSource.AsyncSaveCallback callback, System.AccessLevel accessLevel)

パラメーター

sobject
型: SObject
変更する外部オブジェクトレコード。
callback
型: DataSource.AsyncSaveCallback
元のコンテキストの状態と挿入操作の完了後に実行するアクション (processSave メソッド) を含むコールバックオブジェクト。実行モードは、accessLevel パラメーターにかかわらずシステムモードです。このアクションのコールバックを使用して、操作の結果を基に組織のデータを更新します。コールバックオブジェクトは DataSource.AsyncSaveCallback を拡張する必要があります。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.SaveResult

挿入操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

updateAsync(sobjects, accessLevel)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static List<Database.SaveResult> updateAsync(List<SObject> sobjects, System.AccessLevel accessLevel)

パラメーター

sobjects
型: List<SObject>
変更する外部オブジェクトレコードのリスト。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.SaveResult>

更新操作の状況の結果。各結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

updateAsync(sobject, accessLevel)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、バックグラウンド操作として非同期で実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。

署名

public static Database.SaveResult updateAsync(SObject sobject, System.AccessLevel accessLevel)

パラメーター

sobject
型: SObject
変更する外部オブジェクトレコード。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.SaveResult

挿入操作の状況の結果。結果は、この非同期操作で処理されたレコードに対応し、一意の識別子 (asyncLocator) に関連付けられます。asyncLocator 値は、結果のエラー配列に含まれます。この識別子は Database.getAsyncLocator() で取得できます。Database.getAsyncSaveResult() を使用して最終結果を取得します。

updateImmediate(sobjects)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static List<Database.SaveResult> updateImmediate(List<SObject> sobjects)

パラメーター

sobjects
型: List<SObject>
変更する外部オブジェクトレコードのリスト。

戻り値

型: List<Database.SaveResult>

更新操作の状況の結果。

使用方法

部分的な完了が操作で許可されます。1 つ以上のレコード更新が失敗した場合でも、例外は発生せず、残りの DML 操作を完了することができます。返された SaveResult オブジェクトは、操作が完了したかどうかを示します。完了しなかった場合、オブジェクトはエラーコードと説明も返します。

updateImmediate(sobject)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static Database.SaveResult updateImmediate(SObject sobject)

パラメーター

sobject
型: SObject
変更する外部オブジェクトレコード。

戻り値

型: Database.SaveResult

更新操作の状況の結果。

使用方法

レコード更新が失敗しても例外は発生しません。返された SaveResult オブジェクトは、操作が完了したかどうかを示します。完了しなかった場合、オブジェ��トはエラーコードと説明を返します。

updateImmediate(sobjects, accessLevel)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static List<Database.SaveResult> updateImmediate(List<SObject> sobjects, System.AccessLevel accessLevel)

パラメーター

sobjects
型: List<SObject>
変更する外部オブジェクトレコードのリスト。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: List<Database.SaveResult>

更新操作の状況の結果。

使用方法

部分的な完了が操作で許可されます。1 つ以上のレコード更新が失敗した場合でも、例外は発生せず、残りの DML 操作を完了することができます。返された SaveResult オブジェクトは、操作が完了したかどうかを示します。完了しなかった場合、オブジェクトはエラーコードと説明も返します。

updateImmediate(sobject, accessLevel)

関連する外部システムの外部オブジェクトデータの更新要求を開始します。要求は、同期して実行され、外部オブジェクトの関連付けられている外部データソースで定義された外部システムに送信されます。Apex トランザクションに待機中の変更がある場合、同期操作を完了できず、例外が発生します。

署名

public static Database.SaveResult updateImmediate(SObject sobject, System.AccessLevel accessLevel)

パラメーター

sobject
型: SObject
変更する外部オブジェクトレコード。
accessLevel
型: System.AccessLevel
(省略可能) accessLevel パラメーターは、メソッドをシステムモードで実行するか (AccessLevel.SYSTEM_MODE)、ユーザーモードで実行するか (AccessLevel.USER_MODE) を指定します。システムモードでは、現在のユーザーのオブジェクト権限と項目レベル権限が無視され、クラスの sharing キーワードでレコード共有ルールが制御されます。ユーザーモードでは、現在のユーザーのオブジェクト権限、項目レベルのセキュリティ、および共有ルールが適用されます。デフォルトはシステムモードです。

戻り値

型: Database.SaveResult

更新操作の状況の結果。

使用方法

レコード更新が失敗しても例外は発生しません。返された SaveResult オブジェクトは、操作が完了したかどうかを示します。完了しなかった場合、オブジェクトはエラーコードと説明を返します。