dbindex要素

コンテンツモデル

dbindex:==keyfield

属性

  • @_operation(文字列)
  • @applicableIf (string)
  • @label(文字列)
  • @name (MNTOKEN)
  • @unique(ブール値)

<element>

<keyfield>

説明

この要素を使用すると、テーブルにリンクされたインデックスを定義できます。

使用と使用のコンテキスト

複数のインデックスを定義できます。 1つのインデックスで、テーブルの1つ以上のフィールドを参照できます。 インデックス宣言は、通常、メインスキーマ要素の定義に従います。

<dbindex>に定義される<keyfield>要素の順序は非常に重要です。 最初の<keyfield>は、クエリが主に基づくインデクション基準にする必要があります。

データベース内のインデックスの名前は、テーブルの名前とインデックスの名前を連結して計算されます。 次に例を示します。インデックス作成クエリ中の、テーブル名「Sample」、名前空間「Cus」、インデックス名「MyIndex」 —>インデックスフィールドの名前:"CusSample_myIndex".

属性の説明

  • _operation (string):データベースに書き込むタイプを定義します。

    この属性は主に、標準搭載されたスキーマを拡張する場合に使用します。

    アクセス可能な値は次のとおりです。

    • "none":和解のみ。 つまり、Adobe Campaignは、要素を更新せずに回復します。要素が存在しない場合はエラーが発生します。
    • "insertOrUpdate":挿入時に更新します。 つまり、Adobe Campaignは、要素を更新するか、存在しない場合は作成します。
    • "insert":挿入。 つまり、Adobe Campaignは、要素が存在するかどうかを確認せずに要素を挿入します。
    • "update":更新。 これは、Adobe Campaignが要素を更新するか、存在しない場合はエラーを生成することを意味します。
    • "delete":削除。 つまり、Adobe Campaignは要素を回復および削除します。
  • applicableIf (string):インデックスを考慮する条件 — XTK式を受け取ります。

  • label (string):indexラベル。

  • name (MNTOKEN):一意のインデックス名。

  • unique (boolean):このオプションが有効な場合(@unique="true")、属性はフィールド全体でのインデックスの一意性を保証します。

「id」フィールドでのインデックスの作成。 (<dbindex>要素トリガーの「@unique」属性は、データベース(クエリ)にインデックスが作成されたときに「UNIQUE」SQLキーワードを追加します)。

<element label="Sample" name="Sample">
  <dbindex name="myIndex" label="My index on the ID field" unique="true" applicableIf="HasPackage('nms:social')">
      <keyfield xpath="@id"/>
  </dbindex>
    <attribute name="id" type="long"/>
</element>          
ALTER TABLE CusSample ADD iSampleId INTEGER;
UPDATE CusSample SET iSampleId = 0;
ALTER TABLE CusSample ALTER COLUMN iSampleId SET Default 0;
ALTER TABLE CusSample ALTER COLUMN iSampleId SET NOT NULL; 
CREATE UNIQUE INDEX CusSample_myIndex ON CusSample(iSampleId);

「@mail」フィールドと「@phoneNumber」フィールドに複合インデックスを作成します。

<element label="NewSchemaUser" name="NewSchemaUser">
  <dbindex name="myIndex" label="My composite index">
         <keyfield xpath="@email"/>
         <keyfield xpath="@phone"/>
  </dbindex>
  
  <attribute name="email" type="string"/>
  <attribute name="phone" type="string"/>
</element>      
CREATE INDEX DocNewSchemaUser_myIndex ON DocNewSchemaUser(sEmail, sPhone);

このページ

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free