Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

CREATE TEMPORARY TABLE

Suporte a tabelas temporárias

O ClickHouse oferece suporte a tabelas temporárias, que têm as seguintes características:

  • As tabelas temporárias desaparecem quando a sessão termina, inclusive se a conexão for perdida.
  • Uma tabela temporária usa o mecanismo de tabela Memory quando nenhum mecanismo é especificado e pode usar qualquer mecanismo de tabela, exceto Replicated e KeeperMap.
  • Não é possível especificar o DB de uma tabela temporária. Ela é criada fora dos bancos de dados.
  • Não é possível criar uma tabela temporária com uma consulta DDL distribuída em todos os servidores do cluster (usando ON CLUSTER): essa tabela existe apenas na sessão atual.
  • Se uma tabela temporária tiver o mesmo nome que outra tabela e uma consulta especificar o nome da tabela sem especificar o DB, a tabela temporária será usada.
  • No processamento distribuído de consultas, as tabelas temporárias com mecanismo Memory usadas em uma consulta são enviadas aos servidores remotos.

Sintaxe

Para criar uma tabela temporária, use a seguinte sintaxe:

CREATE [OR REPLACE] TEMPORARY TABLE [IF NOT EXISTS] table_name
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) [ENGINE = engine]

Na maioria dos casos, as tabelas temporárias não são criadas manualmente, mas ao usar dados externos em uma consulta ou em (GLOBAL) IN distribuído. Para mais informações, consulte as seções correspondentes

É possível usar tabelas com ENGINE = Memory em vez de tabelas temporárias.

Navigation