Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Acrescentar detalhes adicionais
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css

Pagetitle
TCUnique
TCUnique

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

Sintaxe

Bloco de código
collapsefalse
TCUnique( < cAliascTabela >, [ cColumncColumns ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cAlias

cTabela

caractere

Alias

Nome da tabela

corrente

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

X

cColumn


cColumns

caractere

Nome

das coluna da tabela

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

. No

, e um número negativo em caso de erro

retorna os numeros de erros.

.

Informações
icontrue
titleObservaçõ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

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
FUNCTION Example()
  Local cT1 := "T1"
  
  TCLink()
  
  DBCreate("T1"cT1 , {{"FIELD_NAMECPOC1", "C", 10, 0}, ;
                  {"FIELD_TYPECPOC2", "C", 10, 0}}, "TOPCONN")
                 
  USE DBUseArea(.F., 'TOPCONN', cT1, (cT1), .F., .T.)(cT1) ALIAS TRB EXCLUSIVE NEW VIA "TOPCONN"

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

...