我们有一个数据库设置,其中我们有一个单独的用户,用于 Oracle 数据库中数据库表的所有者和用户。这意味着实际上每个查询的前缀如下:ownername.tablename
如果我只是在 Slick 的 SQLInterpolation.sql 函数中静态地编写整个内容,这会很好:
(sql"select foo_owner.foo_sequence.nextval from dual").as[Long].first()
问题是,所有者前缀会根据测试/产品而变化。环境。我想做的是:
(sql"select $owner.foo_sequence.nextval from dual").as[Long].first()
但是 SQL 插值不适用于它。我收到此错误甲骨文:
An exception or error caused a run to abort: ORA-22806: not an object or REF
有什么建议么?我当然可以回退到更详细的 StaticQuery,但使用 sql/sqlu 插值会更紧凑。