Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Elimina uno schema. Per uno schema esterno, puoi anche rimuovere il database esterno associato allo schema. Questo comando è irreversibile.
Privilegi richiesti
Di seguito sono riportati i privilegi richiesti per DROP SCHEMA:
-
Superuser
-
Proprietario dello schema
-
Utenti con il privilegio DROP SCHEMA
Sintassi
DROP SCHEMA [ IF EXISTS ] name [, ...] [ DROP EXTERNAL DATABASE ] [ CASCADE | RESTRICT ]
Parametri
- IF EXISTS
-
Clausola che indica che se lo schema specificato non esiste, il comando non deve apportare modifiche e deve restituire un messaggio che lo schema non esiste, piuttosto che terminare con un errore.
Questa clausola è utile durante lo scripting, quindi lo script ha esito positivo se DROP SCHEMA viene eseguito su uno schema inesistente.
- name
-
Nomi degli schemi da rimuovere. Puoi specificare diversi nomi di schema separati da virgole.
- DROP EXTERNAL DATABASE
-
Una clausola che indica che se uno schema esterno è stato rimosso, devi rimuovere il database esterno associato allo schema esterno, se esiste. Se non esiste alcun database esterno, il comando restituisce un messaggio che dichiara che non esiste alcun database esterno. Se vengono rimossi più schemi esterni, tutti i database associati agli schemi specifici vengono eliminati.
Se un database esterno contiene oggetti dipendenti come le tabelle, includi l'opzione CASCADE per rimuovere gli oggetti dipendenti.
Quando rimuovi un database esterno, il database viene rimosso anche per altri schemi associati al database. Vengono anche rimosse le tabelle definite in altri schemi esterni tramite il database.
DROP EXTERNAL DATABASE non supporta i database esterni archiviati in un metastore HIVE.
- CASCADE
-
Parola chiave che indica di rimuovere automaticamente tutti gli oggetti nello schema. Se viene specificato DROP EXTERNAL DATABASE, anche tutti gli oggetti nel database esterno vengono rimossi.
- RESTRICT
-
Parola chiave che indica di non eliminare uno schema o database esterno se contiene oggetti. Questa operazione costituisce l'impostazione predefinita.
Esempio
L'esempio seguente elimina uno schema denominato S_SALES. Questo esempio utilizza RESTRICT come meccanismo di sicurezza in modo che lo schema non venga eliminato se contiene oggetti. In questo caso, è necessario eliminare gli oggetti dello schema prima di eliminare lo schema.
drop schema s_sales restrict;
L'esempio seguente elimina uno schema denominato S_SALES e tutti gli oggetti che dipendono da tale schema.
drop schema s_sales cascade;
L'esempio seguente rimuove lo schema S_SALES se esiste oppure non esegue nulla e restituisce un messaggio se non esiste.
drop schema if exists s_sales;
L'esempio seguente elimina uno schema esterno denominato S_SPECTRUM e il database esterno a esso associato. Questo esempio utilizza RESTRICT in modo che lo schema e il database non vengano eliminati se contengono oggetti. In questo caso, è necessario eliminare gli oggetti dipendenti prima di eliminare lo schema e il database.
drop schema s_spectrum drop external database restrict;
L'esempio seguente elimina più schemi e i database esterni a essi associati, insieme agli oggetti dipendenti.
drop schema s_sales, s_profit, s_revenue drop external database cascade;