A ver
lo que yo uso en un SP sería algo como esto
insert into LaTablaMadre (Los campos)
values Los valores (o en su defecto Select LosCampos from
UnXML_o_Tabla_o_lo_que_sea)
if @@error = 0
begin
set @PK_de_ LaTablaMadre = Scope_Identity()
insert into LaTablaHija (lo que corresponda)
if @@error <> 0
begin
Manejo del error de la tabla hija
end
end
else
begin
Manejo del error de la tabla madre
End
Por ahí sea medio rudimentario porque no soy un experto en SQL, pero
funciona.
Saludos!
De: [email protected] [mailto:[email protected]] En nombre de Carlos Morandin
Enviado el: sábado, 22 de diciembre de 2012 12:08 p.m.
Para: GUFA List Member
Asunto: [GUFA] Actualizar key en tabla padre-hija
Siiii , quiero !! si alguien tiene me vendria al pelo.!!
----- Original Message -----
From: Eduardo E. Tkachuk <mailto:[email protected]>
To: GUFA List Member <mailto:[email protected]>
Sent: Friday, December 21, 2012 8:51 PM
Subject: [GUFA] Actualizar key en tabla padre-hija
Carlos , te falto pedir ejemplos
.
Saludos
De: [email protected] [mailto:[email protected]] En nombre de Carlos Morandin
Enviado el: Viernes, 21 de Diciembre de 2012 10:23 a.m.
Para: GUFA List Member
Asunto: [GUFA] Actualizar key en tabla padre-hija
Muchas gracias a todos por las sugerencias !
Saludos.
Carlos Morandin
---- Original Message -----
From: Omar Bellio <mailto:[email protected]>
To: GUFA List Member <mailto:[email protected]>
Sent: Friday, December 21, 2012 9:02 AM
Subject: [GUFA] Actualizar key en tabla padre-hija
Si hablamos de hacerlo en un SP, yo uso siempre PK autonuméricas, con lo
cual me despreocupo de cuál es la que sigue (hablando de un alta). Una vez
insertado el registro en la tabla madre, se puede obtener la PK nueva con la
función Scope_Identity() (esto es para SQL Server, pero seguro que cada
motor tendrá su propio método para obtener el dato) y hacer las altas de los
registros en las tablas relacionadas.
Salud!
De: [email protected] [mailto:[email protected]] En nombre de Eduardo E. Tkachuk
Enviado el: jueves, 20 de diciembre de 2012 10:11 p.m.
Para: GUFA List Member
Asunto: [GUFA] Actualizar key en tabla padre-hija
Yo sip. Obtienes el Id siguiente en la tabla padre dentro de una
transacción, luego le pasas el id del padre y el XML de detalle a Stored
Procedure que hace el insert en la tabla hija, obviamente en el insert pones
el Id obtenido del padre y el detalle ( se anula la transacción si falla
algo en la tabla hija. Si no hay detalle no hay cabecera).
Yo en mi caso tengo un Id para tabla hija mas el Id de la tabla padre
(relación). En el Stored de modificación viaja el Id del padre para poder
hacer los reemplazos, como tengo id de tabla hija hasta puedo ser más
puntual en algunos casos .
Espero haber ayudado
Eduardo
De: [email protected] [mailto:[email protected]] En nombre de Alejandro Paciotti
Iacchelli
Enviado el: Jueves, 20 de Diciembre de 2012 06:49 p.m.
Para: GUFA List Member
Asunto: [GUFA] Actualizar key en tabla padre-hija
Algo debe haber, un SP que reciba un XML con el detalle de las tablas hijas,
que inserte la tabla padre, ahí obtenga el ID y con ese ID inserte las
tablas hijas.
Se me ocurre eso, pero no lo hice nunca.
Saludos.
El 20 de diciembre de 2012 18:43, Carlos Morandin
<[email protected]> escribió:
Gracias,
en realidad todavia no son hijas, van a serlo luego de insertarse en la base
de datos.
es decir no es una actualizacion de clave, sino es en la insercion lo que
necesito saber es la
id del padre para guardarlo en las futuras hijas.
tengo un forma que es hacer un tableupdate en un transaccion y obtener el id
de la tabla
padre y asi actualizar las hijas pero pensé que pueda haber algo que se haga
directo
en la base de datos.
Saludos
Carlos
----- Original Message -----
From: Alejandro Paciotti Iacchelli <mailto:[email protected]>
To: GUFA List Member <mailto:[email protected]>
Sent: Thursday, December 20, 2012 6:09 PM
Subject: [GUFA] Actualizar key en tabla padre-hija
Asumiendo que si son hijas, ya tienen la clave de la tabla padree lo que
cambia es la clave de la tabla padre, y que tenés configurada la integridad
referencial, lo que se me ocurre es que, dentro de una transacción, agregues
un registro en la tabla padre con el nuevo valor de clave, luego, updatees
la tabla hija con ese valor, y luego borres el antiguo registro de la tabla
padre.
Espero haber sido claro.
Saludos.
El 20 de diciembre de 2012 18:01, Carlos Morandin
<[email protected]> escribió:
Hola,
en una base de datos sql (cualquiera)
queria saber si hay alguna forma (procedimiento almacenado o algo) de
actualizar la tabla hija con la clave de una tabla padre
al insertar datos que no deba hacerse en forma manual, obteniendo el id de
la tabla padre (en una transaccion) y luego actualizar la tabla hija.
se entiende ??
desde ya muchas gracias
Saludos
Carlos
--
[email protected]
--
[email protected]