4

我从 gitlab ci 得到一个查询,我想执行它。

如果我对查询进行硬编码,它就是 sql"""""" 语法。但我想将它作为变量传递(整个查询)。SqlInteroperator 不获取变量的值,因此返回一个空片段。

 val q2 = sql"""$query"""
  println(q2) // Fragment("?")

  test("hive ViewTest") {
    q2
      .update
      .run
      .transact(xa)
      .unsafeRunSync() shouldEqual(0)
  }

只是信息我有这些作为进口

import scala.concurrent.ExecutionContext
import cats.effect.{ContextShift, IO}
import doobie.free.connection.{close, unit}
import doobie.implicits._
import doobie.util.transactor.{Strategy, Transactor}
import org.scalatest.{BeforeAndAfterAllConfigMap, ConfigMap, FunSuite, Matchers}

可能吗?

4

1 回答 1

1

弄清楚了!你可以使用Fragment.constapi

例如

Fragment.const(query)
于 2019-10-22T14:37:13.070 回答