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.
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 | +---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+