如何将完整的查询作为参数传递

问题描述 投票:3回答:1

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

如果我进行硬编码,则查询是sql“”“”“”语法,它将起作用。但我想将其作为变量(整个查询)传递。 SqlInterperator不获取变量的值,因此返回空片段。

 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}

有可能吗?

sql scala scala-cats doobie
1个回答
0
投票

想通了!您可以使用Fragment.const API

例如

Fragment.const(query)
© www.soinside.com 2019 - 2024. All rights reserved.