Tabela temporária no Firebird é mantido na memória no espaço de catálogo de tabelas sem fazer persistência no disco.
A existência dos dados na tabela temporária pode ser até o COMMIT dos dados “ON COMMIT DELETE ROWS” ou mantido até que a conexão seja fechada “ON COMMIT PRESERVE ROWS”.
Uma tabela temporária pode ser associada a um índice e seus dados é visível somente para a conexão que a criou, não acessível para outras conexões.
Uma vez criada a tabela temporária a estrutura da tabela é mantida no metadata – quando os dados são apagados da tabela (como se fizesse um DROP TABLE) apaga somente dados e o metadata é mantido.
CREATE GLOBAL TEMPORARY TABLE temp_Clientes
( codigo integer,
nome varchar(50),
cidade varchar(32),
estado varchar(5)
)
ON COMMIT PRESERVE ROWS;
aceita associar índices:
create index temp_Clientes_Codigo on temp_Clientes(codigo)