У меня есть база данных под названием HelpfulStats.sqlite3
, в которой хранятся полезные статистические данные о днях работы программного обеспечения, которому оно принадлежит.Внутри HelpfulStats.sqlite3
у меня есть таблицы, соответствующие следующим правилам именования: stats_YYMMDD
.Во время запуска программного обеспечения я проверяю размер файла HelpfulStats.sqlite3
и, если он превышает установленное пороговое значение, я вызываю VACUUM
, проверяю, слишком ли он велик, и затем запускаю запроспри необходимости удалить самую старую таблицу stats_
.
Я успешно нахожу самую старую таблицу с помощью SELECT [tbl_name] FROM sqlite_master WHERE type='table' AND [tbl_name] LIKE 'stats_%' ORDER BY [tbl_name] ASC LIMIT 1
.Однако Я не могу понять, как передать результат SELECT в команду DROP TABLE.Возможно ли это? Я могу легко , просто сделав им два отдельных запроса, один для захвата результата SELECT, а другой для выполнения DROP с этим именем таблицы в качестве параметра, но мне интересноесли это возможно сделать просто в одном выполнении SQL.
Я пробовал что-то вроде DROP TABLE (SELECT [tbl_name] FROM sqlite_master WHERE type='table' AND [tbl_name] LIKE 'stats_%' ORDER BY [tbl_name] ASC LIMIT 1)
, но я получаю синтаксические ошибки в первой открывающей скобке.Возможно ли то, что я пытаюсь сделать?