DROP EXTERNAL TABLE¶
Remove uma tabela externa do esquema atual ou especificado. Essa é uma operação somente de metadados. Nenhum dos arquivos a que a tabela externa se refere é descartado.
- Consulte também:
- CREATE EXTERNAL TABLE , ALTER EXTERNAL TABLE , SHOW EXTERNAL TABLES , DESCRIBE EXTERNAL TABLE 
Sintaxe¶
DROP EXTERNAL TABLE [ IF EXISTS ] <name> [ CASCADE | RESTRICT ]
Parâmetros¶
- name
- Especifica o identificador da tabela externa 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 externa não estiver totalmente qualificado, na forma de - db_name.schema_name.table_nameou- schema_name.table_name, o comando procura a tabela externa no esquema atual para a sessão.
- CASCADE | RESTRICT
- Especifica se a tabela externa pode ser descartada caso existam chaves estrangeiras que façam referência à tabela: - CASCADEdescarta a tabela externa mesmo que ela tenha chaves primárias ou exclusivas que são referenciadas por chaves estrangeiras em outras tabelas.
- RESTRICTretorna um aviso sobre as referências de chave estrangeiras existentes e não descarta a tabela externa.
 - Padrão: - CASCADE
Notas de uso¶
- Ao contrário de uma tabela padrão, descartar uma tabela externa expulsa-a do sistema. Uma tabela externa não pode ser recuperada usando Time Travel; também, não há comando UNDROP EXTERNAL TABLE. Uma tabela externa descartada deve ser recriada. 
- Depois de descartar uma tabela externa, criar uma tabela externa com o mesmo nome recria a tabela. Nenhum histórico da antiga versão da tabela externa é retido. 
- Antes de descartar uma tabela externa, verifique se nenhuma exibição faz referência à tabela. Descartar uma tabela externa referenciada por uma visualização invalida a visualização, ou seja, consultar a visualização retorna um erro “objeto não existe”. 
- Quando a cláusula IF EXISTS é especificada e o objeto de destino não existe, o comando é concluído com sucesso sem retornar um erro. 
Exemplos¶
Descartar uma tabela externa:
SHOW EXTERNAL TABLES LIKE 't2%'; +-------------------------------+------------------+---------------+-------------+-----------------------+---------+-----------------------------------------+------------------+------------------+-------+-----------+----------------------+ | created_on | name | database_name | schema_name | owner | comment | location | file_format_name | file_format_type | cloud | region | notification_channel | |-------------------------------+------------------+---------------+-------------+-----------------------+---------+-----------------------------------------+------------------+------------------+-------+-----------+----------------------| | 2018-08-06 06:00:42.340 -0700 | T2 | MYDB | PUBLIC | MYROLE | | @MYDB.PUBLIC.MYSTAGE/ | | JSON | AWS | us-east-1 | NULL | +-------------------------------+------------------+---------------+-------------+-----------------------+---------+-----------------------------------------+------------------+------------------+-------+-----------+----------------------+ DROP EXTERNAL TABLE t2; +--------------------------+ | status | |--------------------------| | T2 successfully dropped. | +--------------------------+ SHOW EXTERNAL TABLES LIKE 't2%'; +------------+------+---------------+-------------+-------+---------+----------+------------------+------------------+-------+--------+----------------------+ | created_on | name | database_name | schema_name | owner | comment | location | file_format_name | file_format_type | cloud | region | notification_channel | |------------+------+---------------+-------------+-------+---------+----------+------------------+------------------+-------+--------+----------------------| +------------+------+---------------+-------------+-------+---------+----------+------------------+------------------+-------+--------+----------------------+
Descartar a tabela novamente, mas não relatar um erro se a tabela não existir:
DROP EXTERNAL TABLE IF EXISTS t2; +------------------------------------------------------------+ | status | |------------------------------------------------------------| | Drop statement executed successfully (T2 already dropped). | +------------------------------------------------------------+