问题描述
使用 Sybase 作为主要事务数据库和 sqlite 作为集成测试的内存数据库。 我面临的问题是两个实现的行为冲突。
我需要执行一个类似于
的查询select dbo.get_name(id),id from some_table
这在 sybase 中运行得非常好(我理解模式前缀对于用户定义函数的重要性)。然而,sql lite 抛出错误,说 sqlite.Operational error near "("
尝试在创建 sqlite 连接时将 dbo 添加为架构,但没有成功。
使用 Python 进行所有实现。
解决方法
您可以将 dbo 设为一个组,并使您的所有用户都成为该组的成员。那么您就可以完全避免使用架构前缀。
或者,您可以拥有一个名为 dbo 的 SQLite 数据库,您可以在其中放置函数 get_name
。