Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

CREATE TEMPORARY TABLE

Compatibilidad con tablas temporales

ClickHouse admite tablas temporales con las siguientes características:

  • Las tablas temporales desaparecen cuando finaliza la sesión, incluso si se pierde la conexión.
  • Una tabla temporal usa el motor de tabla Memory si no se especifica ningún motor, y puede usar cualquier motor de tabla excepto Replicated y KeeperMap.
  • No se puede especificar la DB de una tabla temporal. Se crea fuera de las bases de datos.
  • No es posible crear una tabla temporal mediante una consulta DDL distribuida en todos los servidores del clúster (usando ON CLUSTER): esta tabla solo existe en la sesión actual.
  • Si una tabla temporal tiene el mismo nombre que otra tabla y una consulta especifica el nombre de la tabla sin indicar la DB, se usará la tabla temporal.
  • En el procesamiento de consultas distribuidas, las tablas temporales con el motor Memory utilizadas en una consulta se envían a los servidores remotos.

Sintaxis

Para crear una tabla temporal, utilice la siguiente sintaxis:

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

En la mayoría de los casos, las tablas temporales no se crean manualmente, sino al usar datos externos para una consulta o con (GLOBAL) IN distribuido. Para obtener más información, consulte las secciones correspondientes.

Es posible usar tablas con ENGINE = Memory en lugar de tablas temporales.

Navigation