

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Sintaks SQL untuk pernyataan yang disiapkan
<a name="querying-with-prepared-statements-sql-statements"></a>

Anda dapat menggunakan pernyataan`PREPARE`, `EXECUTE` dan `DEALLOCATE PREPARE` SQL untuk menjalankan kueri parameter di editor kueri konsol Athena. 

 
+ Untuk menentukan parameter tempat Anda biasanya akan menggunakan nilai-nilai literal, gunakan tanda tanya dalam pernyataan `PREPARE`.
+ Untuk mengganti parameter dengan nilai-nilai saat Anda menjalankan kueri, gunakan klausa `USING` dalam pernyataan `EXECUTE`.
+ Untuk menghapus pernyataan yang disiapkan dari pernyataan yang disiapkan dalam kelompok kerja, gunakan `DEALLOCATE PREPARE` pernyataan tersebut.

Bagian berikut memberikan detail tambahan tentang masing-masing pernyataan ini.

**Topics**
+ [MEMPERSIAPKAN](querying-with-prepared-statements-prepare.md)
+ [EXECUTE](querying-with-prepared-statements-execute.md)
+ [DEALLOCATE PREPARE](querying-with-prepared-statements-deallocate-prepare.md)

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

Mempersiapkan pernyataan untuk dijalankan di lain waktu. Pernyataan yang disiapkan disimpan dalam grup kerja saat ini dengan nama yang Anda tentukan. Pernyataan tersebut dapat menyertakan parameter di tempat literal untuk diganti saat kueri dijalankan. Parameter yang akan diganti dengan nilai dilambangkan dengan tanda tanya.

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

```
PREPARE statement_name FROM statement
```

Tabel berikut mendeskripsikan parameter ini.


****  

| Parameter | Deskripsi | 
| --- | --- | 
| statement\$1name | Nama pernyataan yang harus dipersiapkan. Nama dalam buket harus unik. | 
| statement | Kueri SELECT, CTAS, atau INSERT INTO. | 

## SIAPKAN contoh
<a name="querying-with-prepared-statements-prepare-examples"></a>

Contoh berikut menunjukkan penggunaan `PREPARE`. Tanda tanya melambangkan nilai yang akan disuplai oleh pernyataan `EXECUTE` saat kueri dijalankan.

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

# EXECUTE
<a name="querying-with-prepared-statements-execute"></a>

Menjalankan pernyataan yang disiapkan. Nilai untuk parameter ditentukan dalam klausa `USING`.

## Sintaksis
<a name="querying-with-prepared-statements-execute-syntax"></a>

```
EXECUTE statement_name [USING value1 [ ,value2, ... ] ]
```

*statement\$1name*adalah nama pernyataan yang disiapkan. *value1*dan *value2* merupakan nilai yang akan ditentukan untuk parameter dalam pernyataan.

## CONTOH EKSEKUSI
<a name="querying-with-prepared-statements-execute-examples"></a>

Contoh berikut menjalankan pernyataan yang disiapkan `my_select1`, yang tidak berisi parameter.

```
EXECUTE my_select1
```

Contoh berikut menjalankan pernyataan yang disiapkan `my_select2`, yang berisi parameter tunggal.

```
EXECUTE my_select2 USING 2012
```

Contoh berikut menjalankan pernyataan yang disiapkan `my_select3`, yang memiliki dua parameter.

```
EXECUTE my_select3 USING 346078, 12
```

Contoh berikut menyuplai nilai string untuk parameter dalam pernyataan yang disiapkan `my_insert`.

```
EXECUTE my_insert USING 'usa'
```

Contoh berikut memasok nilai numerik untuk `productid` parameter dalam pernyataan `my_unload` disiapkan.

```
EXECUTE my_unload USING 12
```

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

Menghapus pernyataan yang disiapkan dengan nama tertentu dari daftar pernyataan yang disiapkan dalam grup kerja saat ini.

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

```
DEALLOCATE PREPARE statement_name
```

*statement\$1name*adalah nama pernyataan yang disiapkan untuk dihapus.

## Contoh
<a name="querying-with-prepared-statements-deallocate-prepare-examples"></a>

Contoh berikut menghapus pernyataan yang disiapkan `my_select1` dari grup kerja saat ini.

```
DEALLOCATE PREPARE my_select1
```