diff --git a/lib/active_record/connection_adapters/sqlserver/database_statements.rb b/lib/active_record/connection_adapters/sqlserver/database_statements.rb index 5bf3f81df..98aa47c7f 100644 --- a/lib/active_record/connection_adapters/sqlserver/database_statements.rb +++ b/lib/active_record/connection_adapters/sqlserver/database_statements.rb @@ -208,9 +208,11 @@ def sql_for_insert(sql, pk, id_value, sequence_name, binds) if exclude_output_inserted id_sql_type = exclude_output_inserted.is_a?(TrueClass) ? 'bigint' : exclude_output_inserted <<-SQL.strip_heredoc + SET NOCOUNT ON DECLARE @ssaIdInsertTable table (#{quoted_pk} #{id_sql_type}); #{sql.dup.insert sql.index(/ (DEFAULT )?VALUES/), " OUTPUT INSERTED.#{quoted_pk} INTO @ssaIdInsertTable"} - SELECT CAST(#{quoted_pk} AS #{id_sql_type}) FROM @ssaIdInsertTable + SELECT CAST(#{quoted_pk} AS #{id_sql_type}) FROM @ssaIdInsertTable; + SET NOCOUNT OFF SQL else sql.dup.insert sql.index(/ (DEFAULT )?VALUES/), " OUTPUT INSERTED.#{quoted_pk}"