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