Page tree
Skip to end of metadata
Go to start of metadata

Cria ou apaga uma índice de chave unica para uma determinada tabela.

Sintaxe

TCUnique( < cTabela >, [ cColumns ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cTabela

caractere

Nome da tabela a criar ou apagar o índice de chave única.

X


cColumns

caractere

Nome da(s) coluna(s) para a criação do índice único. Caso este parâmetro não seja informado, e já exista um índice de chave única para a tabela informada, este será apagado.



Retorno

Nome

Tipo

Descrição

Retorna

numérico

0 no caso de sucesso, e um número negativo em caso de erro.

Observações

  • Quando necessário criar uma chave unica com mais de uma coluna, deve ser utilizado o sinal de mais(+) separando as colunas informadas.
  • Não é possível informar o nome do índice único a ser criado. O nome para o índice criado no SGDB é montado com o nome da tabela em questão seguido do sufixo "_UNQ".
  • A criação do índice de chave única exige que a tabela em questão esteja aberta pelo processo atual em modo de acesso exclusivo.
  • A utilização de um índice único exige um campo interno de controle adicional chamado de R_E_C_D_E_L_, automaticamente acrescentado na estrutura da tabela caso ele não exista. A partir do DBAccess com build igual ou superior a 20160718, este campo passou a ser criado automaticamente juntos dos outros campos de controle do DBAccess.

Exemplos

FUNCTION Example()
  Local cT1 := "T1"
  
  TCLink()
  
  DBCreate(cT1 , {{"CPOC1", "C", 10, 0}, ;
                  {"CPOC2", "C", 10, 0}}, "TOPCONN")
                 
  USE (cT1) ALIAS TRB EXCLUSIVE NEW VIA "TOPCONN"

  // exemplo com duas colunas
  nRet := TCUnique(cT1, "CPOC1+CPOC2")
  
  if nRet == 0
    conout("Índice único criado com sucesso")
  endif
  
  DBCloseArea()
  
  TCUnlink()
RETURN

Veja também

  • No labels