【发布时间】:2015-08-14 03:16:50
【问题描述】:
我有一个 Cassandra 2.1.8 数据库,其中包含一堆表,全部采用“prefix1_tablename”或“prefix2_tablename”的形式。
我想删除以 prefix1_ 开头的每个表,而别管其他任何东西。
我知道我可以使用查询来获取表名:
SELECT columnfamily_name FROM system.schema_columnfamilies
WHERE keyspace_name='mykeyspace'
我考虑过以某种方式过滤结果以仅获取 prefix1_ 表,将它们放入一个表中,每个表都附加 DROP TABLE,然后执行我的新表中的所有语句。这与我看到的人们用 MySQL 或 Oracle 解决相同问题的策略类似。
虽然使用 CQL3.2,但我无法访问用户定义函数(至少根据我读过的文档...),而且我不知道如何执行诸如执行语句之类的事情一个表查询结果,以及如何在 Cassandra 中过滤掉没有 LIKE 运算符的 prefix1_ 表。
有没有办法做到这一点?
【问题讨论】: