我正在尝试使用多重插入语法获取我正在插入的行的生成键(或 identitycol)。
<cfquery>
CREATE TABLE TempPerson
(
PersonID INT NOT NULL IDENTITY (1,1) PRIMARY KEY,
LastName varchar(20),
FirstName varchar(20)
);
</cfquery>
<cfquery result="qrResult">
INSERT INTO TempPerson( lastName, firstName )
VALUES( 'Smith', 'Michael' ), ('Jones','Ricky')
</cfquery>
<cfdump var="#qrResult#">
我在 CF10 和 Railo 4.2 中结合 SQL Server 和 MySQL 运行了它。
带有 SQL Server 的 CF10 - 未返回 GeneratedKey。只有 recordCount 变量
RecordCount = 2
CF10 与 MySQL - 将标识列作为列表获取,但记录计数错误
GeneratedKey = 1,2
RecordCount = 1
带有 SQL Server 的 Railo 4.2 - 仅获取最后一个标识列
GeneratedKey = 2
RecordCount = 2
Railo 4.2 with MySQL - 将标识列作为列表获取,以及正确的记录计数
GeneratedKey = 1,2
RecordCount = 2
所以看起来这 4 个排列没有一致性。但我最紧迫的问题是是否有办法从运行 CF10 的 SQL Server 获取生成的密钥。在那儿?