Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Operaciones entre bases de datos (https://www.clubdelphi.com/foros/showthread.php?t=52326)

subzero 17-01-2008 14:03:34

Operaciones entre bases de datos
 
Buenas....

Hola, alguien me podria decir si es posible realizar operaciones entre bases de datos en sql server... me explico tengo una tabla (T1), en la cual quisiera que al momento de insertar un registro esta pudiese ejecutar un trigger e insertarla en otra tabla (T2) que se encuentra en una Base de Datos diferente en el mismo equipo....


Agradezco cualquier respuesta!

subzero 17-01-2008 15:05:58

Hola nuevamente... ya lo gre pasar datos de una base de datos a otra, pero la pregunta en estos momentos sería ¿Cómo poder tomas los datos del ultim registro que se ha insertado para que esto sean pasados?... pongo en script del trigger

Código SQL [-]
CREATE TRIGGER [mi_trigger] ON [dbo].[tabla_origen]
WITH EXECUTE AS CALLER
FOR INSERT
AS
BEGIN
  /* Trigger body */
  INSERT INTO BD_Destino.dbo.Tabla_destino(
  BD_Destino.dbo.Tabla_destino.Campo1,
  BD_Destino.dbo.Tabla_destino.Campo2)
  VALUES(X,XXXX);
END
GO

Donde estan las "XXX" serian los datos que devuelve el ultimo registro insertado.... Gracias

__hector 17-01-2008 19:33:31

Mira los ejemplos de triggers en el books online de sql server o la ayuda.

Los triggers hacen referencia a los datos nuevos mediante dos 'tablas' (o serian punteros a tabla?) llamadas inserted y deleted, que tendran valores segun sea cada caso (si estas insertando/editando o borrando).

Asi que podrias declarar n variables, y asignarle los valores desde inserted (que tiene la misma estructura de la tabla), y luego hacer el insert en la tabla de la otra base de datos. Algo como:

Código:

DECLARE @campo1 varchar, @campo2 varchar

SELECT @campo1 = campo1, @campo2 = campo2 from inserted

INSERT INTO otrabd.dbo.otratabla  (campo1, campo2)
SELECT @campo1, @campo2

Tambien son validas las replicaciones entre bases de datos, que es lo que se estila para estos casos de copia de registros y sincronizacion entre tablas/bases de datos.

subzero 17-01-2008 21:55:57

Muhas gracias... lo provee y me sirvio!!!!!


La franja horaria es GMT +2. Ahora son las 18:04:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi