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

Hacer INSERT y si existe que haga UPDATE

Estas en el tema de Hacer INSERT y si existe que haga UPDATE en el foro de Bases de Datos General en Foros del Web. Hola, trabajo con ASP .NET y BD Access. Quería saber si existe alguna forma de hacer un INSERT y en el caso de que el ...
  #1 (permalink)  
Antiguo 11/09/2006, 04:02
 
Fecha de Ingreso: septiembre-2005
Mensajes: 26
Antigüedad: 18 años, 8 meses
Puntos: 0
Hacer INSERT y si existe que haga UPDATE

Hola, trabajo con ASP .NET y BD Access.

Quería saber si existe alguna forma de hacer un INSERT y en el caso de que el registro ya existiera que haga 1 UPDATE con los datos modificados.

Gracias.
  #2 (permalink)  
Antiguo 11/09/2006, 10:25
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
si, primero preguntas si existe... si es asi, actualizas; sino insertas.
  #3 (permalink)  
Antiguo 11/09/2006, 11:13
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Cita:
Iniciado por Andres95 Ver Mensaje
si, primero preguntas si existe... si es asi, actualizas; sino insertas.


Ilustrativa la respuesta...


Bueno hay algunas maneras, lo que yo hago es hacer un

SELECT COUNT(*) FROM tabla WHERE campo=x

y en el where incluyo todos los campos que formen parte de la clave primaria del registro que voy a insertar.

Si ese select me devuelve 0 entonces quiere decir que no hay ningún registro con esa clave primaria y por lo tanto inserto, si me devuelve 1 entonces quiere decir que si hay un registro con esa clave primaria y entonces actualizo

Cualquier cosa avisas
  #4 (permalink)  
Antiguo 11/09/2006, 12:56
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38

me parece bien...

pero en realidad la intención era hacer que se escribiera de forma mas específica la pregunta...

un saludo...
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 22:13.