insertar en una tabla datos de otras dos

09/11/2005 - 16:38 por Aprendiz de Informatico | Informe spam
hola, necesitaria saber como hago para insertar en una tabla, de una sola
vez, datos de campos de otras dos tablas. Por ejemplo, la tabla 1, tiene
campos de tabla 2 y tabla 3, entonces, como hago para insertarlos de una sola
vez en tabla 1 los campos de las otras dos? lo que hago ahora es insertar en
la primera y despues actualizo con los campos que necesito de la otra, pero
eso no me sirve..


gracias.-

Preguntas similare

Leer las respuestas

#1 Maxi
09/11/2005 - 16:46 | Informe spam
Hola, si quieres q sea todo automatico deberias implementar un trigger en la
tabla donde se insertan los datos y que se dispare a las otras por ej

CREATE TRIGGER TR1 ON TABLA1 FOR INSERT AS
INSERT INTO TABLA2 (CAMPOS)
SELECT CAMPOS FROM INSERTED
GO


Salu2
Maxi [MVP SQL SERVER]


"Aprendiz de Informatico"
escribió en el mensaje
news:
hola, necesitaria saber como hago para insertar en una tabla, de una sola
vez, datos de campos de otras dos tablas. Por ejemplo, la tabla 1, tiene
campos de tabla 2 y tabla 3, entonces, como hago para insertarlos de una
sola
vez en tabla 1 los campos de las otras dos? lo que hago ahora es insertar
en
la primera y despues actualizo con los campos que necesito de la otra,
pero
eso no me sirve..


gracias.-
Respuesta Responder a este mensaje
#2 Alejandro Mesa
09/11/2005 - 17:21 | Informe spam
Aprendiz de Informatico,

La posibilidad de hacer lo que deseas esta en la clave primaria y que la
fila exista en ambas tablas de las cuales quieres insertar.

insert into t1 (c1, ..., cn)
select t2.c1, t2.c2, t2.c3, t3.c4, ..., t3.cn
from t2 inner join t3 on t2.t1_pk_col = t3.t1_pk_col
where not exists(select * from t1 where t1.pk_col = t2.t1_pk_col)


insert into t1 (c1, ..., cn)
select coalesce(t2.t1_pk_col, t3.t1_pk_col), t2.c2, t2.c3, t3.c4, ..., t3.cn
from t2 full join t3 on t2.t1_pk_col = t3.t1_pk_col
where not exists(select * from t1 where t1.pk_col = coalesce(t2.t1_pk_col,
t3.t1_pk_col))


AMB

"Aprendiz de Informatico" wrote:

hola, necesitaria saber como hago para insertar en una tabla, de una sola
vez, datos de campos de otras dos tablas. Por ejemplo, la tabla 1, tiene
campos de tabla 2 y tabla 3, entonces, como hago para insertarlos de una sola
vez en tabla 1 los campos de las otras dos? lo que hago ahora es insertar en
la primera y despues actualizo con los campos que necesito de la otra, pero
eso no me sirve..


gracias.-
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida