DROP SCHEMA - Amazon Redshift

DROP SCHEMA

Elimina un esquema. Para un esquema externo, también puede eliminar la base de datos externa asociada con el esquema. Este comando no es reversible.

Privilegios necesarios

Los siguientes privilegios son necesarios para DROP SCHEMA:

  • Superusuario

  • Propietario del esquema

  • Usuarios con el privilegio DROP SCHEMA

Sintaxis

DROP SCHEMA [ IF EXISTS ] name [, ...] [ DROP EXTERNAL DATABASE ] [ CASCADE | RESTRICT ]

Parámetros

IF EXISTS

Cláusula que indica que si el esquema especificado no existe, el comando no debe realizar cambios y debe devolver un mensaje en el que se indique que el esquema no existe, en lugar de terminar con un error.

Esta cláusula es útil cuando se realiza scripting, para que el script no produzca un error si DROP SCHEMA se ejecuta contra un esquema que no existe.

name

Nombres de los esquemas que eliminar. Puede especificar múltiples nombres de esquema separados por comas.

DROP EXTERNAL DATABASE

Cláusula que indica que si se elimina un esquema externo, se elimina la base de datos externa asociada con el esquema externo, si existe una. Si no existe ninguna base de datos externa, el comando devuelve un mensaje que indica que no existe ninguna base de datos externa. Si se eliminan múltiples esquemas externos, se eliminan todas las bases de datos externas asociadas con los esquemas especificados.

Si una base de datos externa contiene objetos dependientes como son las tablas, incluya la opción CASCADE para eliminar también los objetos dependientes.

Cuando se elimina una base de datos externa, la base de datos también se elimina de cualquier otro esquema externo asociado con la base de datos. Las tablas definidas en otros esquemas externos usando la base de datos también se eliminan.

DROP EXTERNAL DATABASE no es compatible con bases de datos externas almacenadas en un almacén de metadatos de HIVE.

CASCADE

Palabra clave que indica que se deben eliminar automáticamente todos los objetos del esquema. Si se especifica DROP EXTERNAL DATABASE, también se eliminan todos los objetos de la base de datos externa.

RESTRICT

Palabra clave que indica que no se debe eliminar un esquema o una base de datos externa si contiene objetos. Esta acción es la predeterminada.

Ejemplo

En el siguiente ejemplo, se elimina un esquema denominado S_SALES. Este ejemplo usa RESTRICT como mecanismo de seguridad para que no se elimine el esquema si contiene objetos. En este caso, necesita eliminar los objetos del esquema antes de eliminar el esquema.

drop schema s_sales restrict;

En el siguiente ejemplo, se eliminan un esquema denominado S_SALES y todos los objetos que dependen de ese esquema.

drop schema s_sales cascade;

En el siguiente ejemplo, se elimina el esquema S_SALES si existe. Si no existe, no se realiza ninguna acción y se devuelve un mensaje.

drop schema if exists s_sales;

En el siguiente ejemplo, se elimina un esquema externo denominado S_SPECTRUM y la base de datos externa asociada con él. Este ejemplo usa RESTRICT para que no se elimine el esquema ni la base de datos si contienen objetos. En este caso, necesita eliminar los objetos dependientes antes de eliminar el esquema y la base de datos.

drop schema s_spectrum drop external database restrict;

En el siguiente ejemplo, se eliminan múltiples esquemas y las bases de datos asociadas con ellos, junto con todos los objetos dependientes.

drop schema s_sales, s_profit, s_revenue drop external database cascade;