> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Documentação sobre Funções de tabela

# Funções de tabela

Funções de tabela são usadas para construir tabelas.

<div id="usage">
  ## Uso
</div>

Funções de tabela podem ser usadas na cláusula [`FROM`](/docs/pt-BR/reference/statements/select/from)
de uma consulta `SELECT`. Por exemplo, você pode usar `SELECT` para selecionar dados de um arquivo na sua máquina local
usando a função de tabela `file`.

```bash title="Query" theme={null}
echo "1, 2, 3" > example.csv
```

```text title="Response" theme={null}
./clickhouse client
:) SELECT * FROM file('example.csv')
┌─c1─┬─c2─┬─c3─┐
│  1 │  2 │  3 │
└────┴────┴────┘
```

Você também pode usar funções de tabela para criar uma tabela temporária disponível
apenas na consulta atual. Por exemplo:

```sql title="Query" theme={null}
SELECT * FROM generateSeries(1,5);
```

```response title="Response" theme={null}
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
```

A tabela é excluída quando a consulta é concluída.

As funções de tabela podem ser usadas para criar tabelas, usando a seguinte sintaxe:

```sql title="Query" theme={null}
CREATE TABLE [IF NOT EXISTS] [db.]table_name AS table_function()
```

Por exemplo:

```sql title="Query" theme={null}
CREATE TABLE series AS generateSeries(1, 5);
SELECT * FROM series;
```

```response title="Response" theme={null}
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
```

Por fim, funções de tabela podem ser usadas para inserir dados em uma tabela. Por exemplo,
poderíamos gravar o conteúdo da tabela que criamos no exemplo anterior
em um arquivo no disco usando novamente a função de tabela `file`:

```sql title="Query" theme={null}
INSERT INTO FUNCTION file('numbers.csv', 'CSV') SELECT * FROM series;
```

```bash title="Query" theme={null}
cat numbers.csv
1
2
3
4
5
```

<Note>
  Você não pode usar funções de tabela se a configuração [allow\_ddl](/docs/pt-BR/reference/settings/session-settings#allow_ddl) estiver desativada.
</Note>
