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.

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