| 4D v18CREATE INDEX | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 CREATE INDEX 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CREATE INDEX ( tabela ; arrayCampos ; tipoIndice ; nomeIndice {; *} ) | ||||||||
| Parâmetro | Tipo | Descrição | ||||||
| tabela | Tabela |   | Tabela para qual criar um índice | |||||
| arrayCampos | Array ponteiro |   | Ponteiros aos campos a serem indexados | |||||
| tipoIndice | Inteiro longo |   | Tipo de índice a criar: -1 = Palavra chave, 0 = padrão, 1 = B-Tree padrão, 3 = Cluster B-Tree | |||||
| nomeIndice | Texto |   | Nome de Índice a criar | |||||
| * | Operador |   | Se passado = índice assincrônico | |||||
O comando CREATE INDEX permite criar:
| Constante | Tipo | Valor | 
| Cluster BTree Index | Inteiro longo | 3 | 
| Default Index Type | Inteiro longo | 0 | 
| Keywords Index | Inteiro longo | -1 | 
| Standard BTree Index | Inteiro longo | 1 | 
Nota: um índice B-Tree associado a um campo de tipo texto armazena como máximo os primeiros 1024 caracteres do campo. Portanto nesse contexto, as pesquisas nas cadeias que contenham mais de 1024 caracteres falharão.
Passe em nomeIndice, o nome do índice a criar. É necessário dar nomes aos índices se vários índices de diferentes tipos podem associados a um mesmo campo e se preferir poder apagá-los individualmente com a ajuda do comando DELETE INDEX. Se o índice nomeIndice já existir, o comando não faz nada.
O parâmetro opcional *, quando for passado, permite realizar a indexação em modo assincrônico. Nesse modo, o método original continua sua execução depois da chamada do comando, sem importar se a indexação terminou ou não.
Se o comando CREATE INDEX encontrar registros bloqueados, estes não serão indexados e o comando esperará que sejam desbloqueados.
Se ocorrer um problema durante a execução do comando (campo não indexável, tentativa de criação de um índice de palavras chaves em mais de um campo, etc.),  um erro é gerado. Este erro pode ser interceptado utilizando um método de gestão de erros.
Criação de dois índices padrão nos campos “Sobrenome” e “Telefone” da tabela [Clientes]:
 ARRAY POINTER(arrayPtrCampo;1)
 fieldPtrArr{1}:=->[Clientes]Sobrenome
 CREATE INDEX([Clientes];arrayPtrCampo;Standard BTree Index;"CustLNameIdx")
 fieldPtrArr{1}:=->[Clientes]Telefone
 CREATE INDEX([Clientes];arrayPtrCampo;Standard BTree Index;"CustTelIdx")Criação de um índice de palavras chaves no campo "Observações da tabela [Clientes]:
 ARRAY POINTER(arrayPtrCampo;1)
 fieldPtrArr{1}:=->[Clientes]Observações
 CREATE INDEX([Clientes];arrayPtrCampo;Keywords Index;"CustObsIdx")Criação de um índice composto nos campos “Cidade” e “CódigoPostal” da tabela [Clientes]:
 ARRAY POINTER(arrayPtrCampo;2)
 fieldPtrArr{1}:=->[Clientes]Cidade
 fieldPtrArr{2}:=->[Clientes]CodigoPostal
 CREATE INDEX([Clientes];arrayPtrCampo;Standard BTree Index;"CidadeCEP")
	Produto: 4D
	Tema: Acesso a Estrutura
	Número 
        966
        
        
        
	
	Criado por: 4D v11 SQL  
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	Manual de linguagem 4D ( 4D v18)
	
	
	
	
	
 Adicionar um comentário
Adicionar um comentário