我使用SQLite进行了一些小项目,我今天遇到了一个问题,可以使用其他SQL数据库轻松解决,但显然它是这里的主要绊脚石。
通常,我们使用单独的文件为每次更新管理架构更新...
setup.001.sql
setup.002.sql
...
setup.011.sql
etc.
通过使用各种if语句,我们可以检查是否需要在SQL脚本本身内执行某些模式更新,这样只需要执行每个脚本以引入任何版本的数据库到当前版本。
所以我在SQLite中发现了一些问题:
if
声明PRAGMA user_version
检索到本地变量中以进行检查那么,如何在SQL脚本内部执行依赖于此信息的更新?我不想用另一种语言编写单独的更新脚本,只是为了能够有条件地运行这些脚本。这似乎是任何数据库提供者的基本需求。
答案 0 :(得分:0)
SQLite是一个嵌入式数据库;它旨在与“真正的”编程语言一起使用。您必须将逻辑放入您自己的应用程序中。
PRAGMA user_version
的输出可以像任何其他查询的输出一样读取。