dbindex-Element dbindex--element
Inhaltsmodell content-model-3
dbindex:==keyfield
Attribute attributes-3
- @_operation (string)
- @applyIf (string)
- @label (string)
- @name (MNTOKEN)
- @unique (boolean)
Eltern parents-3
<element>
Untergeordnetes Element children-3
<keyfield>
Beschreibung description-3
Mit diesem Element können Sie einen mit einer Tabelle verknüpften Index definieren.
Verwendung und Verwendungskontext use-and-context-of-use-3
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 einem <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 "Sample", Namespace "Cus", Indexname "MyIndex"-> Name des Indexfelds bei der Indexerstellung. Abfrage: "CusSample_myIndex".
Attributbeschreibung attribute-description-3
-
_operation (string): definiert den Schreibtyp in der Datenbank.
Dieses Attribut wird hauptsächlich bei der Erweiterung von nativen Schemata verwendet.
Die verfügbaren Werte sind:
- "none": Abstimmung allein. Das bedeutet, dass Adobe Campaign das Element wiederherstellt, ohne es zu aktualisieren, oder einen Fehler erzeugt, wenn es nicht vorhanden ist.
- "insertOrUpdate": Update mit Einfügung. Das bedeutet, dass Adobe Campaign das Element aktualisiert oder erstellt, falls es nicht vorhanden ist.
- "insert": insert. Das bedeutet, dass Adobe Campaign das Element einfügt, ohne zu überprüfen, ob es vorhanden ist.
- "update": update. Das bedeutet, dass Adobe Campaign das Element aktualisiert oder einen Fehler erzeugt, wenn es nicht vorhanden ist.
- "Löschen": 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 seinen Feldern.
Beispiele examples-3
Erstellung eines Index im Feld "id". (Attribut "@unique" in den Triggern <dbindex>
element , 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);