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

problemas con el if dentro de un cursor

Estas en el tema de problemas con el if dentro de un cursor en el foro de SQL Server en Foros del Web. hola... resulta que estoy haciendo un stored procedure y utilizo un cursor, dentro de este hago una sentencia if select isnull(codequipo,0) from reporte where codequipo ...
  #1 (permalink)  
Antiguo 19/10/2005, 07:34
Avatar de lop7  
Fecha de Ingreso: junio-2005
Ubicación: portuguesa (Venezuela)
Mensajes: 187
Antigüedad: 18 años, 11 meses
Puntos: 1
problemas con el if dentro de un cursor

hola...
resulta que estoy haciendo un stored procedure y utilizo un cursor,
dentro de este hago una sentencia
if select isnull(codequipo,0) from reporte where codequipo = @codequipo)=0
begin
hago un insert
end
else begin
hago un update
end

pero cuando esta evaluando el if siempre me entra por else begin sabiendo yo que el resultado da cero (0) en algunos casos y por desgracias para mi no me hace el insert q quiero que es lo que estoy haciendo mal...

ha si hay otra forma de evaluar acepto todas la sugerencias q vengan... solo quiero hacer un insert cuando el codigo no exista y si existe entonces debo hacer un update

espero puedan ayudarme... gracias.
saludos...
nos vemos..
__________________
A quien dices un secreto le entregas tu libertad :si:
  #2 (permalink)  
Antiguo 19/10/2005, 08:24
Avatar de lop7  
Fecha de Ingreso: junio-2005
Ubicación: portuguesa (Venezuela)
Mensajes: 187
Antigüedad: 18 años, 11 meses
Puntos: 1
yo me respondo....

select @valor=isnull(select isnull(codequipo,0) from reporte where codequipo = @codequipo),0)
if @valor = 0
begin
hago un insert
end
else begin
hago un update
end
parece ser que devolvia null o blanco no se porq pero evaluando asi asignando el select en una variable me devuelve cero en caso de ser null asi me funciono
disculpen y gracias
__________________
A quien dices un secreto le entregas tu libertad :si:
  #3 (permalink)  
Antiguo 19/10/2005, 14:27
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Puedes hacerlo un poco más legible de esta manera:

IF EXISTS (select isnull(codequipo,0) from reporte where codequipo = @codequipo)
begin
hago un insert
end
else begin
hago un update
end
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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:11.