• A Confluence está sendo executada atualmente com todos os plugins que não são do sistema desabilitados. Pode haver perda de algumas funcionalidades

Árvore de páginas

Retorna um array com a(s) View(s) associada(s) a tabela.

Sintaxe

TCHasView( < cTable > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cTable

caractere

Nome da tabela que será avaliada.

X


Retorno

Nome

Tipo

Descrição

aViews

vetor

Array com a lista de Views associadas a tabela.

Observações

  • O uso da função TCHasView é recomendo para avaliar se a tabela tem view associada a ela, permitindo que o desenvolvedor delete a View antes de fazer o delete de uma tabela usando a TCDelFile.
  • Recomenda-se sempre utilizar a TCCanOpen para verificar se a tabela que será avaliada existe.
  • Caso ocorra erro no processo de avaliação e/ou deleção da tabela/view, utilize a função TCSQLError para verificar a mensagem de erro retornada pela aplicação.

Exemplos de retorno:

Conteúdo

Detalhes

Array vazio

Um array vazio, pode significar:

  • Não há view associada a tabela.
  • A tabela informada via parâmetro não existe.

Array com conteúdo

Nome(s) da(s) view(s) associada(s) a tabela.

Exemplos

user function exemplo

  local cT1  := "T1"
  local cView:= ""
  local cRDD := "TOPCONN"
  local i


  TCLink()
  clearEnv(cT1)

  // criação da tabela base para a view
  DBCreate(cT1, {{"FIELD_NAME", "C", 10, 0}, ;
                  {"FIELD_TYPE", "C", 10, 0}}, cRDD)

  // criação da view VIEW1 associada a tabela T1
  for i := 1 to 3
    cView := "VIEW"+cValToChar(i)
    if TCViewOne(cView, "T1") == .F.
      UserException("TCViewOne - CREATE VIEW FAIL")
    endif
  next

  conout('Views associadas a tabela T1: ')
  varInfo("",TCHasView("T1"))

  clearEnv(cT1)
  TCUnLink()

return


static function clearEnv(cT1)

  local i

  TCLink()

  if TCCanOpen(cT1)
    aViews := TCHasView(cT1)
  else
    conout(TCSQLError())
    return
  endif

  if ( len(aViews) > 0 )
    for i:= 1 to len(aViews)
      TCDelFile(aViews[i])
    next
  endif

  if TCCanOpen(cT1)
    if (!TCDelFile(cT1))
      conout("FAIL TO DELETE TABLE: " + cT1)
      conout(TCSQLError()) //apresenta a mensagem de erro do SGBD
    endif
  endif

  TCUnLink()

return

Veja também

  • Sem rótulos