

# PREPARE
<a name="sql-prepare"></a>

Cria uma instrução SQL com o nome `statement_name` para execução posterior. A instrução pode incluir parâmetros representados por pontos de interrogação. Para fornecer valores para os parâmetros e executar a instrução preparada, utilize [EXECUTE](sql-execute.md).

## Resumo
<a name="sql-prepare-synopsis"></a>

```
PREPARE statement_name FROM statement
```

A tabela a seguir descreve os parâmetros.


****  

| Parâmetro | Descrição | 
| --- | --- | 
| statement\_name | O nome da instrução que será preparada. O nome deve ser exclusivo no grupo de trabalho. | 
| statement | Uma consulta SELECT, CTAS ou INSERT INTO. | 

**nota**  
O número máximo de instruções preparadas em um grupo de trabalho é mil.

## Exemplos
<a name="sql-prepare-examples"></a>

O seguinte exemplo prepara uma consulta selecionada sem parâmetros.

```
PREPARE my_select1 FROM 
SELECT * FROM nation
```

O seguinte exemplo prepara uma consulta selecionada que inclui parâmetros. Os valores para `productid` e `quantity` serão fornecido pela cláusula `USING` de uma instrução `EXECUTE`:

```
PREPARE my_select2 FROM 
SELECT order FROM orders WHERE productid = ? and quantity < ?
```

O seguinte exemplo prepara uma consulta de inserção.

```
PREPARE my_insert FROM 
INSERT INTO cities_usa (city, state) 
SELECT city, state 
FROM cities_world 
WHERE country = ?
```

## Recursos adicionais
<a name="sql-prepare-additional-resources"></a>

[Usar instruções preparadas](querying-with-prepared-statements-querying.md)

[EXECUTE](sql-execute.md)

[DEALLOCATE PREPARE](sql-deallocate-prepare.md)

[INSERT INTO](insert-into.md)