Как получить результат из последнего оператора SQL в Slick - PullRequest
1 голос
/ 05 марта 2019

У меня есть следующий код 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?

1 Ответ

0 голосов
/ 05 марта 2019

Похоже, что Слик не может этого сделать, однако другой способ - отключить вывод обновлений 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])
...