Я пытаюсь получить сгенерированные ключи (или идентификаторы) строк, которые я вставляю, используя синтаксис множественной вставки.
<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.
CF10 с SQL Server — GeneratedKey не возвращен. Только переменная RecordCount
RecordCount = 2
CF10 с MySQL — получить столбцы идентификаторов в виде списка, но с неправильным числом записей
GeneratedKey = 1,2
RecordCount = 1
Railo 4.2 с SQL Server — получает только последний столбец идентификации
GeneratedKey = 2
RecordCount = 2
Railo 4.2 с MySQL — получение столбцов идентификаторов в виде списка и правильного количества записей
GeneratedKey = 1,2
RecordCount = 2
Таким образом, похоже, что в 4 перестановках нет согласованности. Но мой самый неотложный вопрос заключается в том, есть ли способ получить сгенерированные ключи из SQL Server, работающего с CF10. Есть?
OUTPUT
вместо результата cfquery. Старая запись в блоге ( больше не поддерживается). Это немного больше работы, но я нашел результаты более последовательными, чем результат cfquery для различных версий. Если вы не найдете работающее исправление для CF10, попробуйте его и посмотрите, работает ли оно. - person Leigh   schedule 07.08.2015