

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, lihat [posting blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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

# MEJA DROP
<a name="r_DROP_TABLE"></a>

Menghapus tabel dari database. 

Jika Anda mencoba mengosongkan tabel baris, tanpa menghapus tabel, gunakan perintah DELETE atau TRUNCATE. 

DROP TABLE menghapus kendala yang ada pada tabel target. Beberapa tabel dapat dihapus dengan satu perintah DROP TABLE. 

DROP TABLE dengan tabel eksternal tidak dapat dijalankan di dalam transaksi (BEGIN... END). Untuk informasi lebih lanjut tentang transaksi, lihat[Tingkat isolasi di Amazon Redshift](c_serial_isolation.md).

Untuk menemukan contoh di mana hak istimewa DROP diberikan kepada grup, lihat GRANT[Contoh](r_GRANT-examples.md).

## Hak istimewa yang diperlukan
<a name="r_DROP_TABLE-privileges"></a>

Berikut ini adalah hak istimewa yang diperlukan untuk DROP TABLE:
+ Superuser
+ Pengguna dengan hak istimewa DROP TABLE
+ Pemilik tabel dengan hak istimewa USE pada skema

## Sintaksis
<a name="r_DROP_TABLE-synopsis"></a>

```
DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
```

## Parameter
<a name="r_DROP_TABLE-parameters"></a>

JIKA ADA  
Klausa yang menunjukkan bahwa jika tabel yang ditentukan tidak ada, perintah tidak boleh membuat perubahan dan mengembalikan pesan bahwa tabel tidak ada, daripada berakhir dengan kesalahan.  
Klausa ini berguna saat membuat skrip, sehingga skrip tidak gagal jika DROP TABLE berjalan melawan tabel yang tidak ada.

 *name*   
Nama tabel untuk dijatuhkan. 

RIAM  
Klausa yang menunjukkan untuk secara otomatis menjatuhkan objek yang bergantung pada tabel, seperti tampilan.  
Untuk membuat tampilan yang tidak bergantung pada objek database lainnya, seperti tampilan dan tabel, sertakan klausa WITH NO SCHEMA BINDING dalam definisi tampilan. Untuk informasi selengkapnya, lihat [CREATE VIEW](r_CREATE_VIEW.md).

MEMBATASI   
Klausul yang menunjukkan untuk tidak menjatuhkan tabel jika ada objek yang bergantung padanya. Tindakan ini adalah default.

## Contoh
<a name="r_DROP_TABLE-examples"></a>

 **Menjatuhkan tabel tanpa dependensi** 

Contoh berikut membuat dan menjatuhkan tabel bernama FEEDBACK yang tidak memiliki dependensi: 

```
create table feedback(a int);

drop table feedback;
```

 Jika tabel berisi kolom yang direferensikan oleh tampilan atau tabel lain, Amazon Redshift menampilkan pesan seperti berikut ini. 

```
Invalid operation: cannot drop table feedback because other objects depend on it
```

 **Menjatuhkan dua tabel secara bersamaan** 

Set perintah berikut membuat tabel FEEDBACK dan tabel PEMBELI dan kemudian menjatuhkan kedua tabel dengan satu perintah: 

```
create table feedback(a int);

create table buyers(a int);

drop table feedback, buyers;
```

 **Menjatuhkan tabel dengan ketergantungan** 

Langkah-langkah berikut menunjukkan cara menjatuhkan tabel yang disebut FEEDBACK menggunakan sakelar CASCADE. 

Pertama, buat tabel sederhana yang disebut FEEDBACK menggunakan perintah CREATE TABLE: 

```
create table feedback(a int);
```

 Selanjutnya, gunakan perintah CREATE VIEW untuk membuat tampilan bernama FEEDBACK\$1VIEW yang bergantung pada tabel FEEDBACK: 

```
create view feedback_view as select * from feedback;
```

 Contoh berikut menjatuhkan tabel FEEDBACK dan juga menghapus tampilan FEEDBACK\$1VIEW, karena FEEDBACK\$1VIEW bergantung pada tabel FEEDBACK\$1VIEW: 

```
drop table feedback cascade;
```

 **Melihat dependensi untuk tabel** 

Untuk mengembalikan dependensi untuk tabel Anda, gunakan contoh berikut. Ganti *my\$1schema* dan *my\$1table* dengan skema dan tabel Anda sendiri. 

```
SELECT dependent_ns.nspname as dependent_schema
, dependent_view.relname as dependent_view 
, source_ns.nspname as source_schema
, source_table.relname as source_table
, pg_attribute.attname as column_name
FROM pg_depend 
JOIN pg_rewrite ON pg_depend.objid = pg_rewrite.oid 
JOIN pg_class as dependent_view ON pg_rewrite.ev_class = dependent_view.oid 
JOIN pg_class as source_table ON pg_depend.refobjid = source_table.oid 
JOIN pg_attribute ON pg_depend.refobjid = pg_attribute.attrelid 
    AND pg_depend.refobjsubid = pg_attribute.attnum 
JOIN pg_namespace dependent_ns ON dependent_ns.oid = dependent_view.relnamespace
JOIN pg_namespace source_ns ON source_ns.oid = source_table.relnamespace
WHERE 
source_ns.nspname = 'my_schema'
AND source_table.relname = 'my_table'
AND pg_attribute.attnum > 0 
ORDER BY 1,2
LIMIT 10;
```

Untuk drop *my\$1table* dan dependensinya, gunakan contoh berikut. Contoh ini juga mengembalikan semua dependensi untuk tabel yang telah dijatuhkan.

```
DROP TABLE my_table CASCADE;
         
SELECT dependent_ns.nspname as dependent_schema
, dependent_view.relname as dependent_view 
, source_ns.nspname as source_schema
, source_table.relname as source_table
, pg_attribute.attname as column_name
FROM pg_depend 
JOIN pg_rewrite ON pg_depend.objid = pg_rewrite.oid 
JOIN pg_class as dependent_view ON pg_rewrite.ev_class = dependent_view.oid 
JOIN pg_class as source_table ON pg_depend.refobjid = source_table.oid 
JOIN pg_attribute ON pg_depend.refobjid = pg_attribute.attrelid 
    AND pg_depend.refobjsubid = pg_attribute.attnum 
JOIN pg_namespace dependent_ns ON dependent_ns.oid = dependent_view.relnamespace
JOIN pg_namespace source_ns ON source_ns.oid = source_table.relnamespace
WHERE 
source_ns.nspname = 'my_schema'
AND source_table.relname = 'my_table'
AND pg_attribute.attnum > 0 
ORDER BY 1,2
LIMIT 10;

+------------------+----------------+---------------+--------------+-------------+
| dependent_schema | dependent_view | source_schema | source_table | column_name |
+------------------+----------------+---------------+--------------+-------------+
```

 **Menjatuhkan tabel Menggunakan IF EXISTS** 

Contoh berikut akan menjatuhkan tabel FEEDBACK jika ada, atau tidak melakukan apa-apa dan mengembalikan pesan jika tidak: 

```
drop table if exists feedback;
```