use*_*170 5 scala databricks databricks-sql
我正在尝试使用以下命令删除 databrick scala 中的多个表
select 'DROP TABLE ' + tableName from ABC where tableName LIKE 'in%'
Run Code Online (Sandbox Code Playgroud)
错误结果说
SQL 语句错误: AnalysisException:未找到表或视图:ABC
然而 ABC 数据库存在
谢谢
不,它不会这样工作...您需要将SHOW TABLES IN ... LIKE ...与显式删除结合使用。像这样(Python):
db_name = "ABC"
pattern = "in*"
tables = spark.sql(f"SHOW TABLES IN {db_name} LIKE '{pattern}'")
for row in tables.collect():
spark.sql(f"DROP TABLE {db_name}.{row[1]}")
Run Code Online (Sandbox Code Playgroud)