use*_*775 5 t-sql coldfusion railo lucee
我试图使用多插入语法获取我插入的行的生成密钥(或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#">
Run Code Online (Sandbox Code Playgroud)
我在CF10和Railo 4.2中结合SQL Server和MySQL运行了这个.
带有SQL Server的CF10 - 没有返回GeneratedKey.只有recordCount变量
RecordCount = 2
Run Code Online (Sandbox Code Playgroud)
CF10与MySQL - 获取标识列作为列表,但错误的recordCount
GeneratedKey = 1,2
RecordCount = 1
Run Code Online (Sandbox Code Playgroud)
带有SQL Server的Railo 4.2 - 只获取最后一个标识列
GeneratedKey = 2
RecordCount = 2
Run Code Online (Sandbox Code Playgroud)
带有MySQL的Railo 4.2 - 获取标识列作为列表,以及正确的recordCount
GeneratedKey = 1,2
RecordCount = 2
Run Code Online (Sandbox Code Playgroud)
所以看起来4个排列中没有一致性.但我最紧迫的问题是,是否有办法从SQL Server运行CF10生成密钥.在那儿?
使用sql输出
<cfquery name="qrResult">
INSERT INTO TempPerson( lastName, firstName )
OUTPUT Inserted.PersonID
VALUES( 'Smith', 'Michael' ), ('Jones','Ricky')
</cfquery>
Run Code Online (Sandbox Code Playgroud)
然后可以将其用作常规数据