sql - 如何从 Slick 中的最后一条 SQL 语句中获取结果
问题描述
我有以下 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
?
解决方案
看起来 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])
推荐阅读
- hadoop - 使用 Ambari 安装特定版本的 hadoop
- react-admin - 无法重置 SelectInput 中的所有选项
- node.js - makeExecutableSchema 上的语法错误:意外的名称“用户”(GraphQL)
- algorithm - 获取列表列表的类似笛卡尔积,长度不等,并且对每个项目应用函数('a -> 'b 列表)
- php - 使用 VSCode 和 Docker 调试 PHP
- google-cloud-platform - 日志输出int的值有错误
- entity-framework - 如何在实体框架 LINQ 中格式化数字(不带尾随零)?
- php - PHP 7.2 - 如何在字符串中有函数体时动态创建匿名函数
- php - PHP Rand 函数似乎是加权的
- python - 绘制具有不同颜色的多个值的字典