Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
STATIC FUNCTION CreateTable()
  TCDelFile("T1VIEW1")
  TCDelFile("T2VIEW2")
  TCDelFile("VIEW1T1")
  TCDelFile("VIEW2T2")
  
  DBCreate("T1", {{"FIELD_NAME", "C", 10, 0}, ;
                  {"FIELD_TYPE", "C", 10, 0}}, "TOPCONN")
                  
  DBCreate("T2", {{"FIELD_NAME", "C", 10, 0}, ;
                  {"FIELD_TYPE", "C", 10, 0}, ;
                  {"FIELD_ID"  , "N", 3, 0}}, "TOPCONN")
RETURN

FUNCTION u_TCViewMulti()
  TCLink()
  
  CreateTable()
  
  IIF(TCViewMulti("VIEW1", "T1", "T1,FIELD_NAME,T2,FIELD_TYPE,T2,FIELD_ID"), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .T., ou seja, criou a view VIEW1
  IIF(TCViewMulti("VIEW1", "T1", "T1,FIELD_NAME,T2,FIELD_TYPE,T2,FIELD_ID"), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .F., pois, VIEW1 já foi criada acima
  IIF(TCViewMulti("VIEW2", "VIEW1", "T1,FIELD_NAME,T2,FIELD_ID"), CONOUT('TRUE'), CONOUT('FALSE'))            // retorna .F., pois, não é possível criar uma view a partir de outra view
  IIF(TCViewMulti("VIEW2", "T2", "T1,FIELD_NAME,T2,FIELD_TYPE,T2,FIELD_ID"), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .F., pois, T2 é uma tabela auxiliar da VIEW1
  IIF(TCViewMulti("VIEW2", "T1", "T1,FIELD_NAME,T2,FIELD_VALUE"), CONOUT('TRUE'), CONOUT('FALSE'))            // retorna .F., pois, o campo FIELD_VALUE não existe na tabela T2
  IIF(TCViewMulti("VIEW2", "T3", "T1,FIELD_NAME,T2,FIELD_TYPE,T2,FIELD_ID"), CONOUT('TRUE'), CONOUT('FALSE')) // retorna .F., pois, a tabela T3 não existe no SGBD
  IIF(TCViewMulti("VIEW2", "T1", "T1,FIELD_NAME,T2,FIELD_NAME"), CONOUT('TRUE'), CONOUT('FALSE'))             // retorna .F., pois, o campo FIELD_NAME está duplicado
  
  TCUnlink()
RETURN

...