【发布时间】:2021-07-10 14:35:39
【问题描述】:
我有两个表 foo 和 bar,foo 有一个自动递增的字段 colA。我需要在 foo 中插入一条记录并获取自动递增的值,然后插入 bar(外键)。使用 postgresql,这是一个简单的单一查询,但在 SQL 服务器中我无法找到正确的查询。
Postgresql
With row as (insert into foo(colB) values('x') RETURNING colA ) insert into bar(colA) select colA from row
有没有什么方法可以在 MsSql 中使用单个查询来实现?
服务器版本详情
DBMS: Microsoft SQL Server (ver. 13.00.5882)
Driver: Microsoft JDBC Driver 8.2 for SQL Server (ver. 8.2.2.0, JDBC4.2)
【问题讨论】:
-
您需要使用 2 个插入语句,但可以在单个事务中完成。看到这个答案:stackoverflow.com/a/175138/1073631
-
谢谢@sgeddes,交易对我的情况有效
标签: sql-server jdbc sql-server-2012