elemento dbindex dbindex--element

Modelo de conteúdo content-model-3

dbindex:==keyfield

Atributos attributes-3

  • @_operation (string)
  • @applicableIf (string)
  • @label (string)
  • @name (MNTOKEN)
  • @unique (booleano)

Pais parents-3

<element>

Filhos children-3

<keyfield>

Descrição description-3

Esse elemento permite definir um índice vinculado a uma tabela.

Uso e contexto de uso use-and-context-of-use-3

É possível definir vários índices. Um índice pode fazer referência a um ou mais campos da tabela. A declaração de índice geralmente segue a definição do elemento de esquema principal.

A ordem das <keyfield> elementos definidos em uma <dbindex> é muito importante. O primeiro <keyfield> deve ser o critério de indexação no qual as consultas se baseiam principalmente.

O nome do índice no banco de dados é calculado pela concatenação do nome da tabela e do nome do índice. Por exemplo: Nome de tabela "Sample", Namespace "Cus", nome de índice "MyIndex"-> nome do campo de índice durante a criação do índice consultando: "CusSample_myIndex".

Descrição do atributo attribute-description-3

  • _operation (string): define o tipo de gravação no banco de dados.

    Esse atributo é usado principalmente ao estender schemas prontos para uso.

    Os valores acessíveis são:

    • "none": apenas reconciliação. Isso significa que o Adobe Campaign recuperará o elemento sem atualizá-lo ou gerar um erro se ele não existir.
    • "insertOrUpdate": atualização com inserção. Isso significa que o Adobe Campaign atualizará o elemento ou o criará se ele não existir.
    • "insert": inserção. Isso significa que o Adobe Campaign inserirá o elemento sem verificar se ele existe.
    • "update": atualização. Isso significa que o Adobe Campaign atualizará o elemento ou gerará um erro se ele não existir.
    • "delete": exclusão. Isso significa que o Adobe Campaign recuperará e excluirá elementos.
  • applicableIf (string): condição para considerar o índice - recebe uma expressão XTK.

  • rótulo (string): rótulo do índice.

  • nome (MNTOKEN): nome de índice exclusivo.

  • único (booleano): se essa opção estiver ativada (@unique="true"), o atributo garantirá a exclusividade do índice em todos os campos.

Exemplos examples-3

Criação de um índice no campo "id". (o atributo "@unique" na variável <dbindex> O elemento aciona a adição da palavra-chave "UNIQUE" SQL quando o índice é criado no banco de dados (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);

Criação de um índice composto nos campos "@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);
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1