Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNçãOEm revisão

DbCreateIndex

DBCreateIndex( <cName>, <cExprKey>, [bExprKey], [lUnique] ) --> Nil

Cria um índice para a tabela ou view do contexto.

DbCreateIndexAdvPL
01 · VISÃO GERAL

Visão geral

DBCreateIndex recebe nome e expressão da chave, com bloco e unicidade opcionais. A documentação alerta que um índice de mesmo nome pode ser substituído e que a operação fecha índices, escolhe a nova ordem e reposiciona registros. O bloco deve refletir o valor da chave, não retornar a string que contém a expressão. O arquivo comunitário analisado usa um bloco que devolve cIndice; não o reproduzimos como modelo de chave executável. O fragmento exige índice novo e tabela própria compatível com a RDD. EDTRB identifica exclusivamente uma tabela própria de teste, já aberta com a estrutura e os direitos necessários; os exemplos não se destinam a tabelas padrão. (TOTVS, s.d., ref. 1)

02 · SINTAXE

Sintaxe

DBCreateIndex( <cName>, <cExprKey>, [bExprKey], [lUnique] ) --> Nil

Parâmetros

cName
CaractereObrigatório

Nome de índice novo, distinto da tabela no TOPCONN.

cExprKey
CaractereObrigatório

Expressão da chave em texto.

bExprKey
Bloco de códigoOpcional

Expressão executável equivalente.

lUnique
LógicoOpcional

Controle de índice único; conferir semântica da RDD.

Retorno

Nil; não é um indicador lógico de sucesso.

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed329()
    // ED_NEWIDX deve estar livre; EDTRB tem campo ED_COD e uso proprio.
    If Select("EDTRB") > 0
        EDTRB->(DBCreateIndex("ED_NEWIDX", "ED_COD", {|| ED_COD}, .F.))
    EndIf
Return Nil
Resultado esperado

Propõe criar o índice e alterar a ordem do contexto de teste; não é operação neutra de consulta. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Conferir RDD, alias e operações pendentes. Navegação pode efetivar atualizações; preservar contexto conforme o contrato do chamador e tratar erros na rotina completa.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. DbCreateIndex. TDN. Consulta em 2026-10-26.
  2. EURAI. dbCreateIndex.PRW. universo_do_desenvolvedor_site, commit a5c83e9490302bdb4a0fc5a9d92c2d569a60773c. Exemplo analisado com ressalva sobre o bloco. Consulta em 2026-10-26.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha