Slick 3.0 在Slick 3.0.0中从数据库序列获取结果

Slick 3.0 在Slick 3.0.0中从数据库序列获取结果,slick-3.0,Slick 3.0,我试图获取一个查询的结果,该查询作为一系列操作的一部分执行,这些操作作为参数传递给Slick 3.0的DBIO.sequence()方法。下面是同样的代码片段 val query = for { (tt, th) <- tmpTrades join TableQuery[TrdHeader] on (_.tradeNum === _.tradeNum) } yield (tt.tradeNum, th.internalInd, th.tradeStatusInd, th.tradeDt

我试图获取一个查询的结果,该查询作为一系列操作的一部分执行,这些操作作为参数传递给Slick 3.0的DBIO.sequence()方法。下面是同样的代码片段

val query = for {
 (tt, th) <- tmpTrades join TableQuery[TrdHeader] on (_.tradeNum === _.tradeNum)
 } yield (tt.tradeNum, th.internalInd, th.tradeStatusInd, th.tradeDt,   th.tradeInputDt, th.lastModifyDt)

val queryAction = query.result

val actions = Seq(tmpTrades.schema.create, tmpTrades ++= trades.toSeq: _*, queryAction, tmpTrades.schema.drop)

val resultFuture = db.run(DBIO.sequence(actions))
val query=for{

(tt,th)您应该使用
flatMap
而不是
DBIO.sequence

val myAction=tmpTrades.schema.create.flatMap{{\u=>
tmpTrades++=trades.toSeq
}.flatMap{{u=>
质询
}.flatMap{queryResult=>
//在末尾返回结果。
tmpTrades.schema.drop.map{{{u=>queryResult}
}
db.run(myAction.Transactional)
或者与收益率的
相同:

val myAction=for{

_最后,要打印结果:
val result=db.run(myAction.transactionaly)
,它是使用以下命令打印的:
result.foreach(println)
,如果在REPL(非生产代码)中,您可以阻塞,等待println:
wait.ready(result,Duration.Inf)