

# PREPARE
<a name="querying-with-prepared-statements-prepare"></a>

Prepara uma instrução para execução futura. As instruções preparadas são salvas no grupo de trabalho atual com o nome que você especificar. A instrução pode incluir parâmetros no lugar de literais para serem substituídos quando a consulta for executada. Os parâmetros que serão substituídos por valores são indicados por pontos de interrogação.

## Sintaxe
<a name="querying-with-prepared-statements-prepare-syntax"></a>

```
PREPARE statement_name FROM statement
```

A tabela a seguir descreve esses parâmetros.


****  

| Parameter | Descrição | 
| --- | --- | 
| statement\$1name | O nome da instrução que será preparada. O nome deve ser exclusivo no grupo de trabalho. | 
| instrução | Uma consulta SELECT, CTAS ou INSERT INTO. | 

## Exemplos de PREPARE
<a name="querying-with-prepared-statements-prepare-examples"></a>

Os exemplos a seguir mostram o uso da instrução `PREPARE`. Os pontos de interrogação indicam os valores que serão inseridos pela instrução `EXECUTE` quando a consulta for executada.

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

```
PREPARE my_select2 FROM
SELECT * FROM "my_database"."my_table" WHERE year = ?
```

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

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

```
PREPARE my_unload FROM
UNLOAD (SELECT * FROM table1 WHERE productid < ?)
TO 's3://amzn-s3-demo-bucket/'
WITH (format='PARQUET')
```