Consulta de UPDATE

04/04/2005 - 18:36 por Lucho | Informe spam
Buenos dias amigos:

Tengo la siguiente inquietud:

Tengo una tabla con los campos, TipoVinculo, FechainicialVinculo,
FechafinalVinculo.

Tengo otra tabla con la misma estructura, y necesito hacer un Job que me
actualice los campos de la tabla A con los que hay en la tabla B.

La pregunta es es factible que en una sola sentencia UPDATE yo pueda
cambiar los valores de los tres campos ?

Se puede hacer algo alternativo para realizar el cambio en una sola
sentencia ?

De Antemano muchas gracias

ATTT

LUCHO

Preguntas similare

Leer las respuestas

#1 Tinoco
04/04/2005 - 18:51 | Informe spam
Hola Lucho,

Segun lo que te entiendo, si se puede hacer, solo necesitas un campo unico
dentro de la tabla para hacer la relacion de columnas:

Update tblPrueba
Set TipoVinculo = tOtra.TipoVinculo_otra,
FechainicialVinculo = tOtra.FechainicialVinculo_otra,
FechafinalVinculo = tOtra.FechafinalVinculo_otra
From tblOtraTabla tOtra
Where tOtra.f_id_otra = f_id

Hermilson Tinoco

"Lucho" wrote:

Buenos dias amigos:

Tengo la siguiente inquietud:

Tengo una tabla con los campos, TipoVinculo, FechainicialVinculo,
FechafinalVinculo.

Tengo otra tabla con la misma estructura, y necesito hacer un Job que me
actualice los campos de la tabla A con los que hay en la tabla B.

La pregunta es es factible que en una sola sentencia UPDATE yo pueda
cambiar los valores de los tres campos ?

Se puede hacer algo alternativo para realizar el cambio en una sola
sentencia ?

De Antemano muchas gracias

ATTT

LUCHO



Respuesta Responder a este mensaje
#2 Alejandro Mesa
04/04/2005 - 18:59 | Informe spam
Lucho,

Puedes hacer algo asi como (usando claves primarias):

update table1
set colA = (select colA from table2 where table2.pk_col = table1.pk_col)
where exists (select * from table2 where table2.pk_col = table1.pk_col and
table2.colA != table1.colA or (table1.colA is not null and table2.colA is
null) or (table1.colA is null and table2.colA is not null))

asi sucesivamente para cada columna.

O pudieras:

update t1
set t1.colA = case t1.colA != t2.colA then t2.colA else t1.colA end,
t1.colB = case t1.colB != t2.colB then t2.colB else t1.colB end,
t1.colC = case t1.colC != t2.colC then t2.colC else t1.colC end
from table1 as t1 inner join table2 as t2 on t1.pk_col = t2.pk_col

Fijate que tienes que adicionar el chequeo de NULL en ambas partes, lo cual
no he hecho por no conocer la definicion de ambas tablas y por simplicidad..


AMB

"Lucho" wrote:

Buenos dias amigos:

Tengo la siguiente inquietud:

Tengo una tabla con los campos, TipoVinculo, FechainicialVinculo,
FechafinalVinculo.

Tengo otra tabla con la misma estructura, y necesito hacer un Job que me
actualice los campos de la tabla A con los que hay en la tabla B.

La pregunta es es factible que en una sola sentencia UPDATE yo pueda
cambiar los valores de los tres campos ?

Se puede hacer algo alternativo para realizar el cambio en una sola
sentencia ?

De Antemano muchas gracias

ATTT

LUCHO



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