DROP ICEBERG TABLE¶
Remove uma tabela Iceberg do esquema atual/especificado, mas mantém uma versão da tabela Iceberg para que possa ser recuperada usando UNDROP ICEBERG TABLE. Para mais informações, consulte Notas de uso (neste tópico).
Observe que este tópico se refere às tabelas Iceberg simplesmente como “tabelas”, exceto onde a especificação de tabelas Iceberg evita confusão.
- Consulte também:
CREATE ICEBERG TABLE , SHOW ICEBERG TABLES , UNDROP ICEBERG TABLE
Sintaxe¶
DROP [ ICEBERG ] TABLE [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]
Parâmetros¶
name
Especifica o identificador da tabela a ser descartada. 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 (por exemplo,
"My Object"
).Se o identificador da tabela não estiver totalmente qualificado (na forma de
db_name.schema_name.table_name
ouschema_name.table_name
), o comando procura a tabela no esquema atual para a sessão.CASCADE | RESTRICT
Especifica se a tabela pode ser descartada caso existam chaves estrangeiras que façam referência à tabela:
CASCADE
descarta a tabela mesmo que a tabela tenha chaves primárias/únicas que são referenciadas por chaves estrangeiras em outras tabelas.RESTRICT
retorna um aviso sobre as referências de chave estrangeiras existentes e não descarta a tabela.
Padrão:
CASCADE
Requisitos de controle de acesso¶
Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:
Privilégio |
Objeto |
Notas |
---|---|---|
OWNERSHIP |
Tabela Iceberg |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
USAGE |
Volume externo |
|
USAGE |
Integração (catálogo) |
Obrigatório se a tabela Iceberg usar uma integração de catálogo. |
Observe que operar em qualquer objeto de um esquema também requer o privilégio USAGE no banco de dados e esquema principais.
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
O descarte de uma tabela não a remove permanentemente do sistema. O Snowflake retém uma versão da tabela descartada no Time Travel pelo número de dias especificado pelo parâmetro
DATA_RETENTION_TIME_IN_DAYS
para a tabela. Para obter mais informações, consulte Metadados e instantâneos para tabelas Iceberg.Dentro do período de retenção do Time Travel, você pode restaurar uma tabela descartada usando o comando UNDROP ICEBERG TABLE.
Depois que a tabela descartada for eliminada, ela não pode ser recuperada; ela deverá ser recriada.
Depois de descartar uma tabela, criar uma tabela com o mesmo nome cria uma nova versão da tabela. Você pode restaurar a versão descartada da tabela anterior com as seguintes etapas:
Renomear a versão atual da tabela com um nome diferente.
Use o comando UNDROP ICEBERG TABLE para restaurar a versão anterior.
Antes de descartar uma tabela, verifique se nenhuma exibição faz referência à tabela. Descartar uma tabela que seja referenciada por uma exibição invalida a exibição (consultar a exibição retorna um erro “objeto não existe”).
Exemplos¶
Descartar uma tabela:
DROP ICEBERG TABLE t2; +--------------------------+ | status | |--------------------------| | T2 successfully dropped. | +--------------------------+
Descartar a tabela novamente, mas não relatar um erro se a tabela não existir:
DROP ICEBERG TABLE IF EXISTS t2; +------------------------------------------------------------+ | status | |------------------------------------------------------------| | Drop statement executed successfully (T2 already dropped). | +------------------------------------------------------------+