Оболочка SQLite3: Как получить имя файла базы данных в файле.sql
Я пишу файл.bat, который вызывает оболочку sqlite3 (открывает существующий файл базы данных) и передает в нее файл.sql с командами. В файле.bat это выглядит следующим образом:
sqlite3 %1 < "%~0\..\xtra.sql"
где%1 - путь к файлу базы данных.
Проблема в том, что в.sql скрипте мне нужно использовать имя файла базы данных; но я не могу найти информацию, какую команду использовать, чтобы получить ее. В качестве альтернативы, если есть способ передачи параметров в оболочку sqlite3 (например, в windows cmd), я мог бы также использовать ее.
1 ответ
pragma database_list;
Команда вернет список подключенных в данный момент баз данных. Эту информацию можно получить как табличную функцию (начиная с версии 3.16.0, описанной здесь).
Поскольку вам нужен файл базы данных по умолчанию, то если вы используете обновленный sqlite
версия оболочки, вы можете использовать
select file from pragma_database_list where name='main';