dbindex-element dbindex--element
Innehållsmodell content-model-3
dbindex:==nyckelfält
Attribut attributes-3
- @_operation (sträng)
- @applicableIf (sträng)
- @label (sträng)
- @name (MNTOKEN)
- @unique (boolean)
Överordnade parents-3
<element>
Barn children-3
<keyfield>
Beskrivning description-3
Med det här elementet kan du definiera ett index som är länkat till en tabell.
Användning och användningssammanhang use-and-context-of-use-3
Du kan definiera flera index. Ett index kan referera till ett eller flera fält i tabellen. Indexdeklarationen följer vanligtvis definitionen för huvudschemaelementet.
Ordningen på <keyfield>
-elementen som definieras i en <dbindex>
är mycket viktig. Den första <keyfield>
måste vara indexeringskriteriet som frågorna huvudsakligen baseras på.
Indexnamnet i databasen beräknas genom att sammanfoga tabellnamnet och indexnamnet. Exempel: Tabellnamnet "Exempel", namnutrymmet "Cus", indexnamnet "MyIndex"-> namnet på indexfältet när indexet skapas frågar: "CusSample_myIndex".
Attributbeskrivning attribute-description-3
-
_operation (sträng): definierar typen av skrivning i databasen.
Det här attributet används främst vid utökning av scheman som ligger utanför rutan.
Tillgängliga värden är:
- "none": avstämning ensam. Det innebär att Adobe Campaign återställer elementet utan att uppdatera det eller genererar ett fel om det inte finns.
- "insertOrUpdate": uppdatera med infogning. Det innebär att Adobe Campaign uppdaterar elementet eller skapar det om det inte finns.
- "infoga": infogning. Det innebär att Adobe Campaign infogar elementet utan att kontrollera om det finns.
- "update": update. Det innebär att Adobe Campaign uppdaterar elementet eller genererar ett fel om det inte finns.
- "delete": delete. Det innebär att Adobe Campaign återställer och tar bort element.
-
applicableIf (string): villkor för att ta med indexet i beräkningen - tar emot ett XTK-uttryck.
-
label (string): indexetikett.
-
name (MNTOKEN): unikt indexnamn.
-
unique (boolean): Om det här alternativet aktiveras (@unique="true") garanterar attributet indexets unika karaktär i alla dess fält.
Exempel examples-3
Skapa ett index i fältet"id". (attributet "@unique" i elementet <dbindex>
utlöser tillägg av SQL-nyckelordet "UNIQUE" när indexet skapas i databasen (frågan).)
<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);
Skapa ett sammansatt index i fälten @mail och @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);