Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Control de errores en Sp

Estas en el tema de Control de errores en Sp en el foro de Bases de Datos General en Foros del Web. Hola Mundo : Tengo un Sp que actualiza una tabla de acumulados y el codigo es el siguiente create procedure Acumulados(@codigo int,@sumas float) as set ...
  #1 (permalink)  
Antiguo 09/04/2002, 13:53
 
Fecha de Ingreso: abril-2002
Mensajes: 1
Antigüedad: 22 años
Puntos: 0
Control de errores en Sp

Hola Mundo :

Tengo un Sp que actualiza una tabla de acumulados y el
codigo es el siguiente

create procedure Acumulados(@codigo int,@sumas float)
as

set nocount on
set lock_timeout -1
declare @error int,
@actualiza char(1)

set @actualiza = '0'

if not exists(select c1 from t1 where c1 = @codigo)
begin
set @actualiza = '1'
insert into t1 values(@codigo,@sumas)
set @error = @@error
if @error = 2627 set @actualiza = '0'
end

if @actualiza = '0'
update t1 set c2 = isnull(c2,0) +@sumas where c1 =
@codigo
set nocount off

Como podeis ver esto siempre va ha actualizar el
historico, pero al producirse el error 2627 por dos
actualizaciones concurrentes de dos usuarios no puedo
evitar que el sevidor me envie el mensaje de clave
duplicada al cliente. ¿ Como podría
hacerlo ? . Demando algo parecido al On error de Vb o
alguna instruccion TSql que evite el envio de mensajes al
cliente.

Muchas Gracias a Todos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:16.