elemento dbindex

Modello di contenuto

dbindex:==keyfield

Attributi

  • @_operation (stringa)
  • @applyIf (stringa)
  • @label (stringa)
  • @name (MNTOKEN)
  • @univoche (booleano)

Genitori

<element>

Bambini

<keyfield>

Descrizione

Questo elemento consente di definire un indice collegato a una tabella.

Utilizzo e contesto di utilizzo

È possibile definire diversi indici. Un indice può fare riferimento a uno o più campi della tabella. La dichiarazione dell'indice in genere segue la definizione dell'elemento dello schema principale.

L'ordine degli elementi <keyfield> definiti in un <dbindex> è molto importante. Il primo <keyfield> deve essere il criterio di indicizzazione su cui si basano principalmente le query.

Il nome dell'indice nel database viene calcolato concatenando il nome della tabella e il nome dell'indice. Ad esempio: Nome tabella "Sample", spazio dei nomi "Cus", nome indice "MyIndex"-> nome del campo indice durante la creazione dell'indice durante la query: "CusSample_myIndex".

Descrizione attributo

  • _operation (stringa): definisce il tipo di scrittura nel database.

    Questo attributo è utilizzato principalmente per estendere gli schemi out-of-the-box.

    I valori accessibili sono:

    • "none": solo riconciliazione. Ciò significa che Adobe Campaign recupererà l'elemento senza aggiornarlo o generando un errore in caso contrario.
    • "insertOrUpdate": aggiornamento con inserimento. Ciò significa che Adobe Campaign aggiornerà l'elemento o lo creerà se non esiste.
    • "insert": inserimento. Ciò significa che Adobe Campaign inserirà l'elemento senza verificarne l'esistenza.
    • "update": update. Ciò significa che Adobe Campaign aggiornerà l'elemento o genererà un errore se non esiste.
    • "delete": eliminazione. Ciò significa che Adobe Campaign recupererà ed eliminerà gli elementi.
  • applyIf (stringa): condizione per tenere conto dell'indice - riceve un'espressione XTK.

  • label (stringa): index label.

  • name (MNTOKEN): nome di indice univoco.

  • univoco (booleano): se questa opzione è attivata (@univoche="true"), l'attributo garantisce l'univocità dell'indice in tutti i campi.

Esempi

Creazione di un indice nel campo "id". (l'attributo "@Unique" sull'elemento <dbindex> attiva l'aggiunta della parola chiave SQL "UNIQUE" quando l'indice viene creato nel database (query)).

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

Creazione di un indice composito nei campi "@mail" e "@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);

In questa pagina

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
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now