DROP SCHEMA

Remove um esquema do banco de dados atual/especificado.

Consulte também:

CREATE SCHEMA , ALTER SCHEMA , DESCRIBE SCHEMA , SHOW SCHEMAS , UNDROP SCHEMA

Sintaxe

DROP SCHEMA [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]
Copy

Parâmetros

name

Especifica o identificador do esquema a ser descartado. Se o identificador contiver espaços, caracteres especiais ou caracteres com letras maiúsculas e minúsculas, toda a cadeia de caracteres deve ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Se o identificador do esquema não estiver totalmente qualificado (na forma de db_name.schema_name), o comando procura o esquema no banco de dados atual para a sessão.

CASCADE | RESTRICT

Especifica se o esquema pode ser descartado caso existam chaves estrangeiras que façam referência a qualquer tabela do esquema:

  • CASCADE descarta o esquema e todos os objetos no esquema, incluindo tabelas com chaves primárias/únicas que são referenciadas por chaves estrangeiras em outras tabelas.

  • RESTRICT retorna um aviso sobre as referências de chave estrangeira existentes e não descarta o esquema.

Padrão: CASCADE

Notas de uso

  • O descarte de um esquema não o remove permanentemente do sistema. Uma versão do esquema descartado é mantida no Time Travel pelo número de dias especificado pelo parâmetro DATA_RETENTION_TIME_IN_DAYS para o esquema:

    1. Dentro do período de retenção do Time Travel, um esquema descartado pode ser restaurado usando o comando UNDROP SCHEMA.

    2. Quando o período de retenção do Time Travel terminar, o próximo estado do esquema descartado dependerá se ele é permanente ou transitório:

      • Um esquema permanente é movido para Fail-safe. No Fail-safe (7), um esquema descartado pode ser recuperado, mas somente pelo Snowflake. Quando o esquema deixa o Fail-safe, ele é purgado.

      • Uma esquema transitório não tem Fail-safe, portanto é purgado quando sai do Time Travel.

    3. Depois que o esquema descartado for purgado, ele não pode ser recuperado; ele deve ser recriado.

  • Atualmente, quando um esquema é descartado, o período de retenção de dados para tabelas filhas, se explicitamente definido para ser diferente da retenção do esquema, não é seguido. As tabelas filhas são retidas pelo mesmo período que o esquema. Para respeitar o período de retenção de dados para estas tabelas, descarte-as explicitamente antes de descartar o esquema.

  • Depois de descartar um esquema, criar um esquema com o mesmo nome cria um novo esquema. A versão descartada do esquema anterior ainda pode ser restaurada usando o seguinte método:

    1. Renomeie a versão atual do esquema com um nome diferente.

    2. Use o comando UNDROP SCHEMA para restaurar a versão anterior.

  • Se uma política ou tag for anexada a uma tabela ou coluna de exibição, o descarte do esquema com sucesso exige que a política ou tag seja autocontida no banco de dados e do esquema. Por exemplo, database_1 contém policy_1 e policy_1 só é usada em database_1. Caso contrário, ocorre uma referência pendente.

  • A operação DROP falha se uma política de sessão ou de senhas for definida em um usuário ou na conta.

  • Quando a cláusula IF EXISTS é especificada e o objeto de destino não existe, o comando é concluído com êxito sem retornar um erro.

Exemplos

Descartar um esquema chamado myschema (a partir dos exemplos CREATE SCHEMA):

DROP SCHEMA myschema;

+--------------------------------+
| status                         |
|--------------------------------|
| MYSCHEMA successfully dropped. |
+--------------------------------+

SHOW SCHEMAS;

+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+
| created_on                      | name               | is_default | is_current | database_name | owner  | comment                                                   | options | retention_time |
|---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------|
| Fri, 13 May 2016 17:26:07 -0700 | INFORMATION_SCHEMA | N          | N          | MYTESTDB      |        | Views describing the contents of schemas in this database |         |              1 |
| Tue, 17 Mar 2015 16:57:04 -0700 | PUBLIC             | N          | Y          | MYTESTDB      | PUBLIC |                                                           |         |              1 |
+---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+
Copy