Histórico da Página
...
- Apenas a conexão que criou a tabela pode manipular a tabela.
- A tabela possui controle de R_E_C_N_O_ automático pelo SGDB
- É possível fazer uma Query com JOIN entre uma tabela de dados permanente e uma tabela temporaria.
- E possível manipular a tabela com acessso ISAM emulado e por instruções diretas via TCSQLEXEC
- Uma tabela temporária tradicional deve ser aberta em modo exclusivo, pois somente o processo que a criou tem acesso aos seus dados.
- A aplicação AdvPL define um identificador dinamico (um nome virtual) para a tabela.
- A aplicação AdvPL usa o nome virtual para abrir a tabela para manipulação de dados via ISAM emulado.
- O nome real da tabela no banco de dados é definido pelo DBACcesss
- Para fazer queries ou instruções SQL diretas na tabela temporária, o nome real da tabela deve ser solicitado ao DBAccess após a criação da tabela.
- Não há garantia de transacionamento em tabelas temporárias.
- A aplicação AdvPL pode (e deve) apagar uma tabela temporária que ela criou, desde que ela não esteja aberta e/ou em uso.
- Se a aplicação AdvPL nao apagar a tabela, o DBAccess apaga a tabela quando o processo AdvPL terminar/desconectar do DBAccess.
- Mesmo que ocorra alguma falha no processo de limpeza, por ser uma tabela temporária, o próprio SGDB se encarrega de limpar a tabela e seus dados quando nenhuma conexão referenciar a tabela.
...
- A tabela pode ser manipulada – inserir, remover, alterar registros – por mais de um processo ou conexão.
- A aplicação AdvPL usa um identificador fixo para criar uma tabela temporária compartilhada.
- É necessário solicitar ao DBACcess o nome real da tabela criada no banco de dados, para ser possível abrí-la em modo ISAM emulado e/ou executar queries e instrucões SQL na tabela.
- A aplicação AdvPL consegue apagar a tabela criada, desde que nenhuma conexão esteja usando a tabela.
- Mesmo que a aplicação AdvPL não apague a tabela explicitamente, ao ser finalizada a ultima conexão que abriu / usou a tabela temporária compartilhada, o DBACcess envia ao SGDB a instrução de limpeza (drop) da tabela.
- Mesmo que, por qualquer razão ocorra uma falha ao enviar a instrução de limpeza, ou ela não seja enviada, o DBACcess possui um mecanismo de limpeza automático de tabelas temporárias compartilhadas sem uso, executado periodicamente em uma conexão separada.
- Uma tabela temporária compartilhada deve ser aberta em modo compartilhado, mas ela pode ser aberta em modo exclusivo de acordo com a necessidade da rotina, desde que nenhum outro processo esteja usando a tabela temporaria compartilhada em modo de abertura compartilhado.
Com isso, um determinado processo em Grid ou Multi-Thread pode criar uma tabela para fins temporários , que pode ser manipulada e consultada pelos demais processos e conexões envolvidas, desde que elas recebam como parametro o nome da tabela em questão, e ao final de todos os processos envolvidos que usam essa tabela, existem mecanismos automáticos para eliminar a tabela do banco de dados quando ela não estiver mais sendo usada. Todas as demais caracteristicas são comuns entre as tabelas temporárias compartilhadas:
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas