

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

後ほど実行されるステートメントを準備します。準備済みステートメントは、ユーザー指定の名前で現在のワークグループに保存されます。ステートメントには、リテラルの代わりに、クエリの実行時に置き換えられるパラメータを含められます。値に置き換えられるパラメータは、疑問符で表されます。

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

```
PREPARE statement_name FROM statement
```

以下の表は、これらのパラメータの説明です。


****  

| パラメータ | 説明 | 
| --- | --- | 
| statement\$1name | 準備されるステートメントの名前です。この名前は、ワークグループ内で一意である必要があります。 | 
| ステートメント | SELECT、CTAS、または INSERT INTO クエリです。 | 

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

以下の例では、`PREPARE` ステートメントを使用しています。疑問符は、クエリの実行時に `EXECUTE` ステートメントによって提供される値を表します。

```
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')
```