DROP ICEBERG TABLE¶
Remove uma tabela Iceberg do esquema atual/especificado.
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 , DESCRIBE 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¶
A restauração de uma tabela Iceberg descartada usando o comando UNDROP ICEBERG TABLE ou UNDROP TABLE não é suportada atualmente.
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”).
Para descartar uma tabela, você deve estar usando uma função que tenha o privilégio OWNERSHIP na tabela.
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). | +------------------------------------------------------------+