Crear un procediemiento

05/02/2004 - 15:30 por Magno | Informe spam
Saludos.

Hola amigos, estoy comenzando con esto de los
procedimientos almacenados y tengo una pequeña pregunta,
por favor si pueden ayudarme con lo siguiente:

La primera BD tiene:

cedula
nombre
telefonos
direccion

La segunda BD tiene:

cedula
nombre
telefonos
direccion

Lo que quiero es hacer a travez de un procedimeiento que
lea la primera BD y bvusque en la segunda por el campo
cedula. Si lo encuentra debe actualizarlo, de lo contrario
debe insertarlo como nuevo.

Gracias por la ayuda que puedan brindarme.

Magno
 

Leer las respuestas

#1 Javier Loria
05/02/2004 - 16:08 | Informe spam
Hola:
El siguiente codigo que te envio va sin probar, pero debe ser algo como:
=¾GIN TRAN
Actualiza
UPDATE Tabla
SET Nombre = Otra.Nombre,
Telefonos = Otra.Telefonos,
Direccion = Otra.Direccion
FROM Tabla JOIN BD2..Tabla AS Otra
ON Tabla.Cedula=Otra.Cedula
WHERE (Tabla.Nombre <> Otra.Nombre)
OR (Tabla.Telefonos <> Otra.Telefonos)
OR (Tabla.Direccion <>Otra.Direccion)
INSERT Tabla (Cedula, Nombre, Telefonos, Direccion)
SELECT Cedula, Nombre, Telefonos, Direccion
FROM BD2..Tabla
WHERE Cedula NOT IN (SELECT Cedula FROM Tabla)
COMMIT
==Podria ocurrir que sea mas facil borrar e insertar que actualizar, pero si
hay llaver foraneas no podras hacerlo. Esto seria algo como:
=¾GIN TRAN
DELETE Tabla
WHERE Cedula IN (SELECT Cedula FROM DB2..Tabla)
INSERT Tabla (Cedula, Nombre, Telefonos, Direccion)
SELECT Cedula, Nombre, Telefonos, Direccion
FROM DB2..Tabla
COMMIT TRAN
==
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Magno escribio:
Saludos.

Hola amigos, estoy comenzando con esto de los
procedimientos almacenados y tengo una pequeña pregunta,
por favor si pueden ayudarme con lo siguiente:

La primera BD tiene:

cedula
nombre
telefonos
direccion

La segunda BD tiene:

cedula
nombre
telefonos
direccion

Lo que quiero es hacer a travez de un procedimeiento que
lea la primera BD y bvusque en la segunda por el campo
cedula. Si lo encuentra debe actualizarlo, de lo contrario
debe insertarlo como nuevo.

Gracias por la ayuda que puedan brindarme.

Magno

Preguntas similares