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> element som definieras i en <dbindex> är mycket viktigt. Den första <keyfield> måste vara indexeringskriteriet som frågorna huvudsakligen bygger 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 hänsyn till index - tar emot ett XTK-uttryck.

  • label (string): indexetikett.

  • name (MNTOKEN): unikt indexnamn.

  • unik (boolesk): om det här alternativet är aktiverat (@unique="true") garanterar attributet att indexet är unikt i alla fält.

Exempel examples-3

Skapa ett index i fältet"id". (attributet "@unique" på <dbindex> -element utlöser tillägg av SQL-nyckelordet "UNIQUE" när indexet skapas i databasen (fråga).

<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);
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1