dbindex-Element

Inhaltsmodell

dbindex:==keyfield

Attribute

  • @_operation (string)
  • @applyIf (string)
  • @label (string)
  • @name (MNTOKEN)
  • @unique (boolean)

Übergeordnete Elemente

<element>

Untergeordnetes Element

<keyfield>

Beschreibung

Mit diesem Element können Sie einen mit einer Tabelle verknüpften Index definieren.

Verwendung und Kontext der Verwendung von

Es ist möglich, mehrere Indizes zu definieren. Ein Index kann auf ein oder mehrere Felder der Tabelle verweisen. Die Indexdeklaration folgt in der Regel der Definition des Hauptschemaelements.

Die Reihenfolge der <keyfield>-Elemente, die in <dbindex> definiert sind, ist sehr wichtig. Das erste <keyfield> muss das Indexierungskriterium sein, auf dem die Abfragen hauptsächlich basieren.

Der Name des Index in der Datenbank wird durch Verkettung des Tabellennamens und des Indexnamens berechnet. Beispiel: Tabellenname "Beispiel", Namespace "Cus", Indexname "MyIndex"-> Name des Indexfelds bei der Indexerstellung: "CusSample_myIndex".

Attributbeschreibung

  • _operation (string): definiert den Typ des Schreibens in der Datenbank.

    Dieses Attribut wird hauptsächlich bei der Erweiterung von nativen Schemata verwendet.

    Barrierefreie Werte sind:

    • "none": Abstimmung. Das bedeutet, dass Adobe Campaign das Element wiederherstellt, ohne es zu aktualisieren, oder einen Fehler erzeugt, wenn es nicht vorhanden ist.
    • "insertOrUpdate": durch Einfügen aktualisiert werden. Das bedeutet, dass Adobe Campaign das Element aktualisiert oder erstellt, falls es nicht vorhanden ist.
    • "insert": einfügen. Das bedeutet, dass Adobe Campaign das Element einfügt, ohne zu überprüfen, ob es vorhanden ist.
    • "update": aktualisieren. Das bedeutet, dass Adobe Campaign das Element aktualisiert oder einen Fehler erzeugt, wenn es nicht vorhanden ist.
    • "delete": Löschen. Dies bedeutet, dass Adobe Campaign Elemente wiederherstellt und löscht.
  • applyIf (string): Bedingung für die Berücksichtigung des Index - empfängt einen XTK-Ausdruck.

  • label (string): Indexbezeichnung.

  • name (MNTOKEN): eindeutiger Indexname.

  • unique (boolean): Wenn diese Option aktiviert ist (@unique="true"), garantiert das Attribut die Eindeutigkeit des Index in allen Feldern.

Beispiele

Erstellung eines Index im Feld "id". (Attribut "@unique" in den Triggern <dbindex> , die das SQL-Schlüsselwort "UNIQUE" hinzufügen, wenn der Index in der Datenbank erstellt wird (Abfrage)).

<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);

Erstellung eines zusammengesetzten Index für die Felder "@mail" und "@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);

Auf dieser Seite