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

UPDATE a un campo en 2 tablas

Estas en el tema de UPDATE a un campo en 2 tablas en el foro de SQL Server en Foros del Web. Hola, buenas tardes! Aquí con un problema que no se cómo resolverlo, tengo un campo id_Proveedor en 2 tablas (ordenesTrabajoCotizacion y ordenesTrabajoCotizacionDetalle). Necesito cambiar su ...
  #1 (permalink)  
Antiguo 23/12/2013, 16:42
 
Fecha de Ingreso: julio-2013
Mensajes: 57
Antigüedad: 10 años, 9 meses
Puntos: 1
UPDATE a un campo en 2 tablas

Hola, buenas tardes!

Aquí con un problema que no se cómo resolverlo, tengo un campo id_Proveedor en 2 tablas (ordenesTrabajoCotizacion y ordenesTrabajoCotizacionDetalle). Necesito cambiar su valor pero en cualquiera de las 2 tablas que lo haga primero me marca error por llaves foráneas en la otra tabla. Alguien tiene la forma de actualizar este campo?

Les agradecería mucho su ayuda. Saludos!!
  #2 (permalink)  
Antiguo 23/12/2013, 16:45
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: UPDATE a un campo en 2 tablas

si el valor no existe en la tabla con referencia te va a marcar el error, el valor nuevo que quieres actualizar existe en la tabla de proveedores???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 23/12/2013, 16:52
 
Fecha de Ingreso: julio-2013
Mensajes: 57
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: UPDATE a un campo en 2 tablas

Si, si existe
  #4 (permalink)  
Antiguo 23/12/2013, 16:58
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: UPDATE a un campo en 2 tablas

entonces el problema es como tienes la relaciones en tus tablas, aqui lo que puedes hacer es eliminar las relaciones foraneas de ambas tablas, despues hacer el update y a continuacion poner la llave foranea, pero ojo si las relaciones no estan bien echas no te va a dejar hacer esto, podrias decir como estan tus relaciones???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 23/12/2013, 17:06
 
Fecha de Ingreso: julio-2013
Mensajes: 57
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: UPDATE a un campo en 2 tablas

en ambas tablas esta el campo como llave primaria y foranea, y estas se relacionan con este campo y 4 mas (empresa, obra, orden de trabajo, cotizacion)
  #6 (permalink)  
Antiguo 23/12/2013, 17:08
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: UPDATE a un campo en 2 tablas

entonces tienes mal la relacion deberia ser la tabla de provedoores(de donde se obtiene el id_proveedor) que tenga la relacion foranea con estas 2 tablas no estas 2 tablas entre si....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 23/12/2013, 17:22
 
Fecha de Ingreso: julio-2013
Mensajes: 57
Antigüedad: 10 años, 9 meses
Puntos: 1
Respuesta: UPDATE a un campo en 2 tablas

Ok, gracias por la ayuda, modificaré las llaves haber si con eso ya queda. Saludos!
  #8 (permalink)  
Antiguo 24/12/2013, 02:48
 
Fecha de Ingreso: julio-2012
Ubicación: Israel
Mensajes: 360
Antigüedad: 11 años, 9 meses
Puntos: 40
Respuesta: UPDATE a un campo en 2 tablas

Concuerdo con libras: en tal caso es imposible eliminar e insertar registros a las tablas, y cambiar los valores de las claves.

Yo utilicé este truco una vez para garantizar que la tabla de parámetros tenga una sola fila..
__________________
El Castellano no es mi lengua materna: discúlpenme por los errores gramaticales.
Mi blog

Etiquetas: campo, tabla, tablas, update
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:41.