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

Insert O Update Dependiente De Si Existe

Estas en el tema de Insert O Update Dependiente De Si Existe en el foro de SQL Server en Foros del Web. Hola Gente! Yo de nuevo por aca con otra consulta.... Bastante relacionada con mi ultimo post por cierto. La idea es: como puedo saber si ...
  #1 (permalink)  
Antiguo 22/03/2008, 15:19
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
Antigüedad: 16 años, 2 meses
Puntos: 0
Pregunta Insert O Update Dependiente De Si Existe

Hola Gente! Yo de nuevo por aca con otra consulta....
Bastante relacionada con mi ultimo post por cierto.

La idea es: como puedo saber si un registro existe o no, y en base a eso hacer UPDATE o INSERT?

Y es que estuve leyendo algo sobre IF NOT EXIST... pero el tema es que si dos terminales tiran la query al mismo tiempo hay interbloqueo...

seria basicamente:

1) preguntar si el registro existe o no
2) si existe update, si no existe insert

El problema es el interbloqueo... a alguien se le ocurre otra forma?
Aca encontre algo al respecto... que les parece?

http://groups.google.es/group/microsoft.public.es.sqlserver/msg/11a07f4fb003cee6
  #2 (permalink)  
Antiguo 24/03/2008, 06:26
 
Fecha de Ingreso: julio-2007
Mensajes: 23
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Insert O Update Dependiente De Si Existe

Pues si existe un registro con que hagas un select es suficiente:

if exists(select * from tabla where id = numero) begin
print 'existe registro' -- operacion
end

ahora si haces un update tambien puedes consultar la variable @@ROWCOUNT y verificas cuantas filas actualizó.

salu2
  #3 (permalink)  
Antiguo 04/04/2008, 13:01
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Insert O Update Dependiente De Si Existe

Además de que tienes transacciones para encerrar el par de consultas como una sola, así minimizas el problema de interbloqueo.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #4 (permalink)  
Antiguo 25/05/2008, 19:25
 
Fecha de Ingreso: mayo-2008
Ubicación: Guatemala
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Busqueda Respuesta: Re: Insert O Update Dependiente De Si Existe

Cita:
Iniciado por viviab Ver Mensaje
Pues si existe un registro con que hagas un select es suficiente:

if exists(select * from tabla where id = numero) begin
print 'existe registro' -- operacion
end

ahora si haces un update tambien puedes consultar la variable @@ROWCOUNT y verificas cuantas filas actualizó.

salu2
Una duda, es posible poner la funcion Exist en un trigger
es que estoy intentando pero me sale un error. agradeceria vastante.

Saludos.
  #5 (permalink)  
Antiguo 26/05/2008, 14:23
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Insert O Update Dependiente De Si Existe

Si es posible, solo que nos contara cual es el TEXTO INTEGRO del error, se podria dar una opinion al respecto.
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 11:39.