sql - 在 Impala 中可以一次删除多个 View 吗

标签 sql impala

我有一个具有三个 View 的数据库。我正在尝试执行一个命令来同时删除所有三个。

Impala Guide表明可以使用一次删除一个 View

如果 mydb.view_name 存在则删除 View

但它并没有建议一种同时删除多个 View 的方法this page指南中并未暗示这将是一个限制。

如果我使用 SQL Server(以及其他版本的 SQL),我可以按照 this tutorial 中所示的方法进行操作。 ,用 , 分隔 View 。

DROP VIEW IF EXISTS 
                   mydb.view_v1,
                   mydb.view_v2,
                   mydb.view_v3;

我希望这会从数据库中删除三个 View 。

但是,当我在 Impala 中尝试此操作时,出现以下错误:

AnalysisException: Syntax error in line 2:undefined: ...exists mydb.view_v1, mydb.view_v2, mydb... ^ Encountered: COMMA Expected: ADD, ALTER, AS, CACHED, CHANGE, COMMENT, DROP, FROM, LIKE, LOCATION, PARTITION, PARTITIONED, PRIMARY, PURGE, RECOVER, RENAME, REPLACE, ROW, SELECT, SET, SORT, STORED, STRAIGHT_JOIN, TBLPROPERTIES, TO, UNCACHED, VALUES, WITH CAUSED BY: Exception: Syntax error

并且所有 View 都保留。

最佳答案

显然,该错误表明,在 Impala 术语中,您的语句在语法上不正确(并且不受支持)。

我能想到的模拟与您需要的类似的东西的唯一方法是将所有 View 放入一个单独的数据库中,然后运行 ​​DROP DATABASE ... CASCADE 。我希望此操作以原子方式运行,即作为一个单元要么成功,要么失败。

关于sql - 在 Impala 中可以一次删除多个 View 吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56899106/

相关文章:

mysql - SQL:在 Assets 列表中查找不同的帐户

mysql - 我可以在 CAST() 方法中使用 SUBSTR() 吗?

php - MySQL查询从字段中提取第一个单词

php - 将 impala 与 odbc 和 php pdo 连接,字符串字段为空

hadoop - Hive 和 Impala 以及它们与 HDFS 的交互

php - 如何使用数据库中的数组选择mysql

php - 查找两个日期之间的元素并将它们分组

database - 将数据加载到 impala 分区表中

amazon-web-services - AWS EMR Impala 守护程序问题

hadoop - 如何使元数据无效,刷新和在Impala中插入