Sql 在Impala中一次可以删除多个视图吗
我有一个有三个视图的数据库。我试图执行一个命令,一次删除所有三个 显示可以使用一次删除一个视图Sql 在Impala中一次可以删除多个视图吗,sql,impala,Sql,Impala,我有一个有三个视图的数据库。我试图执行一个命令,一次删除所有三个 显示可以使用一次删除一个视图 如果存在mydb.VIEW\u name,则删除视图 但它并不建议删除多个视图的方法,同时指南也不建议这是一种限制 如果我使用的是SQL server(以及其他版本的SQL),我可以按照中所示的方法,使用,分隔视图 DROP VIEW IF EXISTS mydb.view_v1, mydb.view_v2,
如果存在mydb.VIEW\u name,则删除视图
但它并不建议删除多个视图的方法,同时指南也不建议这是一种限制
如果我使用的是SQL server(以及其他版本的SQL),我可以按照中所示的方法,使用,
分隔视图
DROP VIEW IF EXISTS
mydb.view_v1,
mydb.view_v2,
mydb.view_v3;
我希望这会从数据库中删除这三个视图
但是,当我在黑斑羚中尝试此操作时,我得到以下错误:
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
而且所有视图都保留下来。很明显,这个错误表明,用Impala术语来说,您的语句在语法上是不正确的(并且不受支持)。
我能想到的模拟类似于您需要的东西的唯一方法是将所有视图放置到一个单独的数据库中,然后运行。我希望这个操作是原子性的,即作为一个单元成功或失败。
我想不出任何数据库支持在一条语句中删除多个视图或任何内容。谢谢。是的,我怀疑它没有得到支持。我使用了一个更基本的语句,并连续执行了三个drop语句。我认为下降了。。。CASCADE
将要求我删除基础表,这是我无法做到的。我认为,如果表位于不同的数据库db\U with_tables
中,CASCADE
不会对表产生任何影响。