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 ]
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:Dentro do período de retenção do Time Travel, um esquema descartado pode ser restaurado usando o comando UNDROP SCHEMA.
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.
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:
Renomeie a versão atual do esquema com um nome diferente.
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émpolicy_1
epolicy_1
só é usada emdatabase_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 | +---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+