Scala/Play框架Doobie中的事务

Scala/Play框架Doobie中的事务,scala,functional-programming,psql,scala-cats,doobie,Scala,Functional Programming,Psql,Scala Cats,Doobie,我有一个关于doobie交易的问题。 我已经看过这里的文档,看起来它一次只能处理一个查询 有可能有这样的东西吗 sql''' begin; select * from table where id=1 for update; update table set id=2 where tabletest=2; commit''' 如果有人能给我提供任何想法或更多的例子/文档,我将不胜感激!谢谢 当您应用事务处理程序时,您正在事务中运行东西 query.transact(transactor) 但

我有一个关于doobie交易的问题。 我已经看过这里的文档,看起来它一次只能处理一个查询

有可能有这样的东西吗

sql'''
begin;
select * from table where id=1 for update;
update table set id=2 where tabletest=2;
commit'''

如果有人能给我提供任何想法或更多的例子/文档,我将不胜感激!谢谢

当您应用
事务处理程序时,您正在事务中运行东西

query.transact(transactor)
但这并不意味着您必须在一行中运行整个事务:

val operations = for {
  myClass <- sql"""SELECT a, b, c, FROM table_x WHERE ...""".query[MyClass].to[List]
  updatedRows <- sql"""UPDATE table_x SET ... WHERE""".update.run
} yield someResult

operations.transact(transctor)
val operations=for{
我的班级