Ver Mensaje Individual
  #1  
Antiguo 02-03-2011
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Reputación: 18
agustibaldo Va por buen camino
Problema al ejecutar un simple update. SET NOCOUNT OFF

Hola amigos de ClubDelphi, les escribo para consultarles por un problema que estoy teniendo con una aplicación en Delphi sobre SQL Server 2008.
Concretamente tengo que hacer un UPDATE sobre una tabla la cual tiene asociado un trigger que recolecta las filas que se actualizaron y llama a un stored procedure con los parámetros correspondientes para grabar en una tabla de auditoria.

El problema surge cuando quiero ejecutar el UPDATE dentro de mi aplicación (quiero recalcar que es un simple UPDATE que modifica un campo de una fila en particular) El error es el siguiente:
Cita:
SQL State: 42000, SQL Error Code: 523
Un desencadenador devolvió un conjunto de resultados o se estaba ejecutando con SET NOCOUNT OFF mientras estaba activo otro conjunto de resultados pendiente.
Lo que mas llama la atención que ejecutando la actualización dentro de una transacción funciona correctamente.

Algunas aclaraciones: el procedure inicia con SET NOCOUNT ON y finaliza con SET NOCOUNT OFF (no se porque debe ser siempre asi) y el trigger que lo llama con BEGIN TRAN y luego de ejecutar; un COMMIT TRAN

Espero que alguien pueda darme una mano con esto que me tiene bastante complicado.
Desde ya, les agradezco su tiempo.
Muchas gracias.

PD: si alguien puede explicarme el porque de setear en ON el NOCOUNT cuando se inicia y obligatoriamente en OFF cuando finaliza el procediemiento.
Responder Con Cita