在sqlite

时间:2016-05-16 14:42:22

标签: sqlite

我使用SQLite进行了一些小项目,我今天遇到了一个问题,可以使用其他SQL数据库轻松解决,但显然它是这里的主要绊脚石。

通常,我们使用单独的文件为每次更新管理架构更新...

setup.001.sql
setup.002.sql
...
setup.011.sql
etc.

通过使用各种if语句,我们可以检查是否需要在SQL脚本本身内执行某些模式更新,这样只需要执行每个脚本以引入任何版本的数据库到当前版本。

所以我在SQLite中发现了一些问题:

  • 似乎没有if声明
  • 似乎没有一种干净的方法可以将PRAGMA user_version检索到本地变量中以进行检查

那么,如何在SQL脚本内部执行依赖于此信息的更新?我不想用另一种语言编写单独的更新脚本,只是为了能够有条件地运行这些脚本。这似乎是任何数据库提供者的基本需求。

1 个答案:

答案 0 :(得分:0)

SQLite是一个嵌入式数据库;它旨在与“真正的”编程语言一起使用。您必须将逻辑放入您自己的应用程序中。

PRAGMA user_version的输出可以像任何其他查询的输出一样读取。