Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > SQL Server

Respuesta
 
Herramientas Desplegado
Antiguo 22-mar-2008, 15:19   #1 (permalink)
Bernabe_VCP ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 3
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
Bernabe_VCP está desconectado   Responder Citando
Antiguo 24-mar-2008, 06:26   #2 (permalink)
viviab ha deshabilitado el karma
 
Fecha de Ingreso: julio-2007
Mensajes: 23
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
viviab está desconectado   Responder Citando
Antiguo 04-abr-2008, 13:01   #3 (permalink)
Moderador
Mithrandir llegará a ser famoso muy prontoMithrandir llegará a ser famoso muy pronto
 
Avatar de Mithrandir
 
Fecha de Ingreso: abril-2003
Mensajes: 12.108
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
Mithrandir está desconectado   Responder Citando
Antiguo 25-may-2008, 19:25   #4 (permalink)
dfx25 ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Ubicación: Guatemala
Mensajes: 5
Enviar un mensaje por MSN a dfx25 Enviar un mensaje por Yahoo  a dfx25
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.
dfx25 está desconectado   Responder Citando
Antiguo 26-may-2008, 14:23   #5 (permalink)
Colaborador
iislas ha deshabilitado el karma
 
Fecha de Ingreso: julio-2007
Mensajes: 1.407
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.
iislas está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 06:41.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93