Я не думаю, что можно отбросить все таблицы в одном хите, но можно сделать следующее для получения команд:
select 'drop table ' || name || ';' from sqlite_master
where type = 'table';
вывод этого является сценарием, который отбросит таблицы для Вас. Для индексов просто замените таблицу индексом.
можно использовать другие пункты в эти where
раздел для ограничения, какие таблицы или индексы выбраны (такой как" and name glob 'pax_*'
" для тех, которые запускаются с "мира _").
Вы могли объединить создание этого сценария с выполнением его в простом ударе (или cmd.exe) сценарий, таким образом, существует только одна команда для выполнения.
, Если Вы не заботитесь о приблизительно никакой из информации в DB, я думаю, что можно просто удалить файл, в котором это хранится от жесткого диска - это, вероятно, быстрее. Я никогда не тестировал это, но я не вижу, почему это не работало бы.
То, как вы это делаете, во многом зависит от того, что вы планируете делать с результатом, или, скорее, от того, как вы планируете это делать. Итак, если вас интересуют биты:
case MyVar of
[First|Rest] when is_list(First) -> ... First,Rest ...;
_ -> ... MyVar ...
end
или если вы не заинтересованы в фактическом разделении строки / списка строк, вы можете сделать:
if is_list(hd(MyVar)) -> ... ;
true -> ...
end
Правильно ли я вас понял? Я не вставлял никакого кода, чтобы проверить, действительно ли строки должны быть строками, это нужно было сделать раньше. альтернативой может быть при создании этой строки / списка строк всегда помещать ее в один из форматов.
I иногда пишите что-то вроде:
case X of
[List|_] when is_list(List) ->
list_of_lists;
List when is_list(List) ->
list;
_ ->
not_a_list
end