【问题标题】:How to get result from last SQL statement in Slick如何从 Slick 中的最后一条 SQL 语句中获取结果
【发布时间】:2019-07-26 20:10:44
【问题描述】:

我有以下 Scala 代码:

db.run(sql"""
  DECLARE @Ids TABLE (ID INT NOT NULL, UNIQUE CLUSTERED (ID));
  INSERT INTO @Ids VALUES ...;
  SELECT A.* FROM SomeTable AS A
  INNER JOIN @Ids AS B ON A.ID = B.ID
""".as[Dto])

在这种情况下,Slick (3.2.1) 返回 INSERT 的结果(受影响的行数)。

如何从SELECT 获取数据?

【问题讨论】:

    标签: sql sql-server scala slick


    【解决方案1】:

    看起来 Slick 不能这样做,但是另一种方法是禁用 sql 更新的输出:

    db.run(sql"""
      SET NOCOUNT ON;
      DECLARE @Ids TABLE (ID INT NOT NULL, UNIQUE CLUSTERED (ID));
      INSERT INTO @Ids VALUES ...;
      SELECT A.* FROM SomeTable AS A
      INNER JOIN @Ids AS B ON A.ID = B.ID
      SET NOCOUNT OFF;
    """.as[Dto])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-25
      • 1970-01-01
      相关资源
      最近更新 更多