Tabelas Temporárias Tradicionais
No exemplo abaixo, eu crio uma tabela temporária tradicional no banco de dados, e uso no AdvPL o identificador temporário para o meu processo com o nome de "_TMP1", e obtenho o nome real da tabela temporária para ser possível executar queries ou instruções SQL diretamente na tabela, e abro a tabela em modo ISAM para inserção / alteração / consulta de dados.
cTmpID := '_TMP1' dbcreate(cTmpID,aStru,"TOPCONN") cTmpName := tcconfig("GETTEMPNAME="+cTmpID) conout("Nome Real no SGDB : "+cTmpName) USE (cTmpID) ALIAS TMP EXCLUSIVE NEW VIA "TOPCONN" // DbUSeArea(...)
Tabela temporária compartilhada
No exemplo abaixo, a criação da tabela temporária compartilhada DEVE usar o identificador FIXO "$SHTMP$", e obter o nome da tabela para a abertura logo após a criação da tabela.
cTmpID := '$SHTMP$' dbcreate(cTmpID,aStru,"TOPCONN") cTmpName := tcconfig("GETTEMPNAME="+cTmpID) conout("Nome real no SGDB : "+cTmpName) USE (cTmpName) ALIAS TMP SHARED NEW VIA "TOPCONN" // DbUseArea(...)
A sequência é praticamente a mesma, com as seguinte diferenças :
- A tabela temporária compartilhada usa um identificador de nome fixo para a criação
- A abertura da tabela em modo ISAM ( USE / DBUseArea ) deve usar o nome REAL da tabela no banco, obtido após a criação da tabela.
- Para a tabela temporária compartilhada ser usada por outros processos, eles precisam saber / receber o nome real da tabela, que somente o processo que criou a tabela consegue determinar após a criação.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas