Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Databricks Runtime
Exclui a tabela e remove o diretório associado à tabela do sistema de arquivos se a tabela não for uma EXTERNAL tabela. Uma exceção é lançada se a tabela não existir.
Para eliminar uma tabela, tem de ter o privilégio de MANAGE sobre a tabela, ser o seu proprietário ou o proprietário do esquema, catálogo ou metastore em que a tabela reside.
No caso de uma tabela externa, apenas as informações de metadados associadas são removidas do esquema do metastore.
Quaisquer restrições de chave estrangeira que façam referência à tabela também são descartadas.
Se a tabela estiver armazenada em cache, o comando desarmazenará em cache a tabela e todos os seus dependentes.
Nota
As tabelas são eliminadas no prazo de 7 a 30 dias. O Unity Catalog suporta o comando UNDROP TABLE para recuperar tabelas geridas descartadas durante 7 dias. Após 7 dias, os dados subjacentes são marcados para exclusão do locatário da nuvem durante as operações regulares de manutenção da tabela.
Sintaxe
DROP TABLE [ IF EXISTS ] table_name [ FORCE ]
Parâmetro
SE EXISTE
Se especificado, nenhum erro TABLE_OR_VIEW_NOT_FOUND é lançado quando a tabela não existe.
-
O nome da tabela a ser eliminada. O nome não deve incluir uma especificação temporal ou uma especificação de opções. Se a tabela não puder ser encontrada, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND. Se a relação encontrada não for uma tabela, o Azure Databricks gerará um erro WRONG_COMMAND_FOR_OBJECT_TYPE.
FORÇA
Se especificado, a tabela pode ser descartada mesmo se tiver clones superficiais dependentes. Isso só é aplicável para tabelas gerenciadas do Unity Catalog. Consulte Eliminar a tabela base para um clone superficial.
Exemplos
-- Assumes a table named `employeetable` exists.
> DROP TABLE employeetable;
-- Assumes a table named `employeetable` exists in the `userdb` schema
> DROP TABLE userdb.employeetable;
-- Assumes a table named `employeetable` does not exist.
-- Throws TABLE_OR_VIEW_NOT_FOUND
> DROP TABLE employeetable;
Error: TABLE_OR_VIEW_NOT_FOUND
-- Assumes a table named `employeetable` does not exist,Try with IF EXISTS
-- this time it will not throw exception
> DROP TABLE IF EXISTS employeetable;
-- Assumes a table named `employeetable` exists and has a shallow clone.
-- Throws CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE
> DROP TABLE employeetable;
Error: CANNOT_DROP_BASE_TABLE_REFERENCED_BY_SHALLOW_CLONE
-- Assumes a table named `employeetable` exists and has a shallow clone.
-- Drops base table, but shallow clones referencing this base table will no longer work
> DROP TABLE employeetable FORCE;