DROP SCHEMA - Amazon Redshift

DROP SCHEMA

Exclui um esquema. No caso do esquema externo, você também poderá descartar o banco de dados externo associado ao esquema. Esse comando é irreversível.

Privilégios obrigatórios

A seguir estão os privilégios obrigatórios para DROP SCHEMA:

  • Superusuário

  • Proprietário do esquema

  • Usuários com o privilégio DROP SCHEMA

Sintaxe

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

Parâmetros

IF EXISTS

Cláusula que indica que, se o esquema especificado não existe, o comando não deve fazer alterações e retorna uma mensagem informando que o esquema não existe, em vez de encerrar com um erro.

Esta cláusula é útil durante scripting para que o script não falhe se o comando DROP SCHEMA for executado em um esquema não existente.

name

Nomes dos esquemas a serem descartados. É possível especificar vários nomes de esquemas separados por vírgulas.

DROP EXTERNAL DATABASE

Cláusula indicando que, se um esquema externo for removido, descarte o banco de dados externo associado ao esquema externo, se existir algum. Se não houver banco de dados externo, o comando retornará uma mensagem informando que não existe nenhum banco de dados externo. Se vários esquemas externos forem removidos, todos os bancos de dados associados aos esquemas especificados serão descartados.

Se um banco de dados externo contiver objetos dependentes, como tabelas, inclua a opção CASCADE para descartar também os objetos dependentes.

Quando você solta um banco de dados externo, o banco de dados também é descartado para qualquer outro esquema externo associado ao banco de dados. Tabelas definidas em outros esquemas externos usando o banco de dados também são descartadas.

O DROP EXTERNAL DATABASE não é compatível com bancos de dados externos armazenados em um metastore do HIVE.

CASCADE

Palavra-chave indicando que todos os objetos no esquema devem ser removidos automaticamente. Se DROP EXTERNAL DATABASE for especificado, todos os objetos no banco de dados externo também serão removidos.

RESTRICT

Palavra-chave indicando que um esquema ou banco de dados externo não deve ser removido se contiver algum objeto. Esta ação é o padrão.

Exemplo

O exemplo a seguir exclui um esquema denominado S_SALES. Este exemplo usa RESTRICT como mecanismo de segurança para que o esquema não seja excluído se contiver quaisquer objetos. Nesse caso, você precisa excluir objetos do esquema antes de excluir o esquema.

drop schema s_sales restrict;

O exemplo a seguir exclui um esquema chamado S_SALES e todos os objetos que dependem dele.

drop schema s_sales cascade;

O exemplo a seguir remove o esquema S_SALES se ele existir, ou não faz nada e retorna uma mensagem se o esquema não existir.

drop schema if exists s_sales;

O exemplo a seguir exclui um esquema externo denominado S_SPECTRUM e o banco de dados externo associado a ele. Esse exemplo usa RESTRICT para que o esquema e o banco de dados não sejam excluídos se contiverem objetos. Nesse caso, é preciso excluir os objetos dependentes antes de excluir o esquema e o banco de dados.

drop schema s_spectrum drop external database restrict;

O exemplo a seguir exclui vários esquemas e os bancos de dados externos associados a eles, juntamente com todos os objetos dependentes.

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