Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Tengo 2 bases de datos y debo elaborar un trigger...!!!SQL-Server

Estas en el tema de Tengo 2 bases de datos y debo elaborar un trigger...!!!SQL-Server en el foro de Bases de Datos General en Foros del Web. Hola a todos: Tengo 2 bases de datos y debo elaborar un trigger que cuando me inserte un determinado dato en una tabla que se ...
  #1 (permalink)  
Antiguo 22/03/2005, 07:28
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta Tengo 2 bases de datos y debo elaborar un trigger...!!!SQL-Server

Hola a todos:
Tengo 2 bases de datos y debo elaborar un trigger que cuando me inserte un determinado dato en una tabla que se encuentra en la base de datos 1, me envie ese dato y otros para la base de datos 2; alli lo utilizo y realizo algunos calculos con el. Necesito que me ayuden con este pequeñito problema, por favor.
Saludos desde Cuba,
Yasahe

Última edición por yasahe; 22/03/2005 a las 07:43
  #2 (permalink)  
Antiguo 22/03/2005, 09:14
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 5 meses
Puntos: 5
Cuales son las tablas?, cuales son los campos?, como se llaman las bases de datos?, estan ambas en el mismo servidor?, tiene el usuario el mismo privilegio en ambas para crear y ejecutar triggers?, que base de datos usas?, cuando se inserte que campo en cual lo anadira a la otra?, etc...

Asi si creo podriamos darte una manita...
__________________
Yanira
  #3 (permalink)  
Antiguo 22/03/2005, 09:22
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 19 años, 3 meses
Puntos: 0
Las bases de datos estan en diferentes servidores, pero tengo privilegios para poder conectarme y ejecutar triggers, es un sistema de la empresa y necesita de este otro sistema de la misma empresa, trabajo con sql-server 2000, cuando se inserte un campo en una tabla de la primera base de datos no tenia pensado annadirlo en la otra base de datos, solo realizar unos calculos tomando otros datos de esa misma tabla.....crees que deba hacerlo asi o e otro modo? ayudame por favor.
  #4 (permalink)  
Antiguo 22/03/2005, 09:47
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 5 meses
Puntos: 5
No es tan complicado insertar de una tabla a otra en distintas bases de datos. El asunto de trabajar con dos servidores para hacerlo es que depende de cuan grande es o seran tus bases de datos. Recuerda que para cada insert en una le daras un hit al servidor y a la otra base de datos...

Asumo estas en MS SQL. Si es asi primero tendrias que "Linkear" los servidores. No se si estas usando el enterprise o si tienes acceso a el...
Si no es MS SQL, entonces no podria ayudarte...

Avisame y seguimos con el link de los servidores si gustas...pero seria bueno que pensars en otras opciones. Si es una sola tabla y no es tan extensa como parece, podrias haberla creado en la misma base...o al menos en el mismo servidor...
__________________
Yanira
  #5 (permalink)  
Antiguo 22/03/2005, 09:56
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 19 años, 3 meses
Puntos: 0
Si, estoy trabajando con el enterprise, creo que si podria crearla en mi servidor, pero de todos modos no se crear el trigger que cuando inserte o actualice en la otra base de datos, me inserte y me actualice en la mia. Las bases de datos no seran muy grandes. En un futuro estaran las dos bases de datos en un mismo servidor pero por ahora estan en servidores diferentes.
  #6 (permalink)  
Antiguo 22/03/2005, 10:20
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 5 meses
Puntos: 5
La sintaxis seria algo como
Código:
INSERT INTO [server2].basedatos2.dbo.latablasegunda (campob)
SELECT (campoa) FROM [server1].basedatos1.dbo.latablaprimera
El procedimiento no seria un problema..podrias hacer dos separados uno para insertar y otro para actualizar..o podrias ponerlos ambos en uno mismo...
Quizas algo como
Código:
CREATE Trigger mitrig
On dbo.latabla1
For Insert, Update
As
set nocount on
declare @iss bigint
begin
select @iss=iss  from inserted
if update (campo1)
insert into [server2].basedatos2.duenio.latabla2 (campo2)
SELECT latabla1.iss as idperson from latabla1 where latabla1.iss = @iss
end
O sino igual por separado donde el select del campo lo estes haciendo desde la tabla 'inserted'...o podrias igual pasarlo como parametro que se ejecutaria desde el trigger...
__________________
Yanira

Última edición por Yanix; 22/03/2005 a las 10:23
  #7 (permalink)  
Antiguo 22/03/2005, 10:25
 
Fecha de Ingreso: enero-2005
Mensajes: 260
Antigüedad: 19 años, 3 meses
Puntos: 0
OK, gracias, entiendo perfectamente, cuando lo haga te cuento.................un millon de gracias por la ayuda.
Saludos desde Cuba
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:34.