JDBC Driver for Salesforce

Build 23.0.8839

ポリモーフィックフィールド

ポリモーフィックフィールドの操作

ポリモーフィックフィールドとは、関連オブジェクトを複数の異なる種別のオブジェクトのいずれかにできるフィールドです。 例えば、タスクのWhoID フィールドにはContact またはLead のいずれかを使用できます。フィールドがポリモーフィックかどうかを調べるには、sys_tablecolumns をクエリしてIsPolymorphic カラムをチェックします。ポリモーフィックフィールドに関連する2つの擬似カラムがあります。

  • {PolymorphicField}Type カラム
  • {PolymorphicField}ExternalID カラム

擬似カラムは、ポリモーフィックフィールドを効率的に扱うために使用されます。

Polymorphic Field Type

{PolymorphicField}type は、ポリモーフィックフィールドがリレーションするオブジェクトの種別を指定する抽出条件として使用できます。例えば、Owner のリレーションで種別がUser のタスクのみをクエリするには、以下のクエリを使用します。
SELECT * FROM Task WHERE OwnerIDType = 'User'
INSERT/UPDATE/UPSERT ステートメントでは、ポリモーフィックフィールドを直接使用するか、特定のオブジェクト種別のID を調べる代わりに{PolymorphicField}ExternalID を使用できます。例えば、あるタスクのWhoID を更新しようとする際、特定のContact に属するID を探す代わりに、取引先責任者の外部ID フィールドを参照として使用できます。 取引先責任者の外部ID が"ContactEmail__c" であるとします。以下を使う代わりに、
SELECT ID FROM Contact WHERE ContactEmail__c = '[email protected]'
UPDATE Task SET WhoID = ID from first query
以下を実行できます。
UPDATE Task SET WhoID='[email protected]', WhoIDType='Contact', WhoIDExternalID = 'ContactEmail__c'
これは、このタスクのWhoID 値を、外部ID ContactEmail__c が[email protected] に等しい取引先責任者ID に設定するようにサービスに指示します。INSERT およびUPSERT ステートメントも同様です。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839