Exclui uma tabela ou view de um banco relacional, através do DBAccess.

Sintaxe

TCDelFile( < cName > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cName

caractere

Nome da Tabela/View a ser excluida.

X


Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna .T. se excluiu com sucesso, caso contrário, retorna .F.

  • Geralmente, o retorno falso (.F.) ocorre quando a tabela está sendo utilizada por outro processo ou a tabela não existe no SGBD.
  • Ao apagar uma tabela utilizando TCDelFile, a tabela é excluída fisicamente do banco de dados, internamente através de uma instrução "DROP TABLE". Adicionalmente, a exclusão da tabela através desta função limpa o cache de definição dessa tabela da lista de estruturas em memória do DBAccess, elimina as definições complementares da tabela TOP_FIELD relacionadas à tabela que está sendo excluída, e não permite que esta operação seja feita caso exista alguma conexão com essa tabela aberta para acesso a dados no ERP.
  • Esta verificação não é capaz de determinar se a tabela ou parte de seu conteúdo está sendo acessado por outro processo mediante uma query, por exemplo. Neste caso, a instrução para destruir a tabela será executada, e o resultado da mesma depende do comportamento do banco de dados.

Exemplos

USER FUNCTION TEST()
  TCLink()
  
  DBCreate( "T1", { { "FIELD_NAME", "C", 10, 0 }, ;
                    { "FIELD_TYPE", "C", 10, 0 } }, "TOPCONN" )
  
  TCViewOne( "VIEW1", "T1" )
  
  IF TCDelFile( "VIEW1" ) == .T.
    conout( "View deleted" )
  ELSE
    conout( "Error on delete: " + TCSQLError() )
  ENDIF
  
  IF TCDelFile( "T1" ) == .T.
    conout( "Table deleted" )
  ELSE
    conout( "Error on delete: " + TCSQLError() )
  ENDIF
  
  TCUnlink()
RETURN

Veja também