

 Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, 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/) yang diterbitkan pada 30 Juni 2025. 

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 batasan yang ada pada tabel target. Beberapa tabel dapat dihapus dengan perintah DROP TABLE tunggal. 

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 USAGE 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 seharusnya tidak membuat perubahan dan mengembalikan pesan bahwa tabel tidak ada, daripada diakhiri dengan kesalahan.  
Klausa ini berguna saat membuat skrip, sehingga skrip tidak gagal jika DROP TABLE berjalan terhadap tabel yang tidak ada.

 *name*   
Nama tabel yang akan dijatuhkan. 

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

MEMBATASI   
Klausa 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 ketergantungan ** 

Contoh berikut membuat dan melepaskan 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 ** 

Kumpulan perintah berikut membuat tabel FEEDBACK dan tabel BUYERS dan kemudian melepaskan 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 melepaskan 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\_VIEW yang bergantung pada tabel FEEDBACK: 

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

 Contoh berikut menjatuhkan tabel FEEDBACK dan juga menjatuhkan tampilan FEEDBACK\_VIEW, karena FEEDBACK\_VIEW bergantung pada tabel FEEDBACK: 

```
drop table feedback cascade;
```

 **Melihat dependensi untuk tabel ** 

Untuk mengembalikan dependensi untuk tabel Anda, gunakan contoh berikut. Ganti {{my\_schema}} dan {{my\_table}} 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 mel {{my\_table}} epas dan dependensinya, gunakan contoh berikut. Contoh ini juga mengembalikan semua dependensi untuk tabel yang telah dihapus.

```
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 menjatuhkan tabel FEEDBACK jika ada, atau tidak melakukan apa-apa dan mengembalikan pesan jika tidak: 

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