Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   Insert O Update Dependiente De Si Existe (http://www.forosdelweb.com/f87/insert-update-dependiente-si-existe-568335/)

Bernabe_VCP 22/03/2008 15:19

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

viviab 24/03/2008 06:26

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

Mithrandir 04/04/2008 13:01

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.

dfx25 25/05/2008 19:25

Respuesta: Re: Insert O Update Dependiente De Si Existe
 
Cita:

Iniciado por viviab (Mensaje 2333835)
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. :-)

iislas 26/05/2008 14:23

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.


La zona horaria es GMT -6. Ahora son las 10:29.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.