Estoy creando un procedimiento almacenado en la base de datos Sql Server 2008. Quiero devolver el número de filas afectadas. ¿Cuál es la mejor opción? CONFIGURAR NOCOUNT OFF o RETURN @@ ROWCOUNT?SET NOCOUNT OFF o RETURN @@ ROWCOUNT?
ALTER PROCEDURE [dbo].[MembersActivateAccount]
@MemberId uniqueidentifier
AS
BEGIN
-- Should I use this?
SET NOCOUNT OFF;
UPDATE [dbo].Members SET accountActive = 1 WHERE id = @MemberId;
--Or should I SET NOCOUNT ON and use the following line instead?
--return @@ROWCOUNT;
END
Sé que ambos funcionan, pero ¿cuál es una mejor opción y por qué?
Después de algún tratando Estoy llegando a la conclusión de que SET NOCOUNT está desactivada por defecto dentro de los procedimientos almacenados. ¿Es posible cambiar este comportamiento dentro de mi base de datos?
No veo nada mencionado sobre SET NOCOUNT dentro de la documentación de SqlCommand. ¿Estás seguro de que existe el mismo problema que con DataAdapters? – niaher
Google IT se encuentra gran cantidad de evidencia que lo hace: http://www.google.co.uk/search?client=firefox-a&rls=org.mozilla%3Aen-GB%3Aofficial&channel=s&hl=en&q=ExecuteNonQuery+ NoCount & meta = & btnG = Búsqueda de Google +. No puedo estar seguro de que sea el mismo problema que DataAdapters sin probarlo, pero no veo por qué habría otra razón. – RichardOD