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

Como crear una clave foranea que haga referencia a una tabla de otra base de datos??

Estas en el tema de Como crear una clave foranea que haga referencia a una tabla de otra base de datos?? en el foro de SQL Server en Foros del Web. Saludos, Tengo el siguiente problema que a primera vista me parecio algo sencillo pero luego me dio algo de problemas, tengo una tabla en una ...
  #1 (permalink)  
Antiguo 24/01/2012, 08:04
 
Fecha de Ingreso: enero-2012
Mensajes: 4
Antigüedad: 12 años, 3 meses
Puntos: 0
Como crear una clave foranea que haga referencia a una tabla de otra base de datos??

Saludos,

Tengo el siguiente problema que a primera vista me parecio algo sencillo pero luego me dio algo de problemas, tengo una tabla en una base de datos a la cual necesito crearle una clave foranea(foreign key) de una tabla que esta en otra base de datos.

Ejemplo: mi base de datos actual es db_prueba y tengo otra que se llama db_prueba2 que tiene una tabla tb_clientes, entonces como hago? que

create table tb_factura(
id_factura int identity,
id_cliente int
constraint pk_id_factura primary key(id_factura),
foreign key (id_cliente) references db_prueba2.dbo.tb_clientes(id_cliente)
);

Gracias por adelantado, espero pueda ayudarme.
  #2 (permalink)  
Antiguo 24/01/2012, 08:14
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Respuesta: Como crear una clave foranea que haga referencia a una tabla de otra base

Solo se puede hacer referencias a campos de tablas en la misma Database..

FOREIGN KEY Constraints

Tendrias que considerar alguna otra opcion como Triggers o mediante programacion..




Saludos!
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 27/01/2012, 09:07
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Como crear una clave foranea que haga referencia a una tabla de otra base

100% de acuerdo con Andres95, puedes hacerlo mediante TRIGGER
__________________
MCTS Isaias Islas
  #4 (permalink)  
Antiguo 27/01/2012, 11:04
 
Fecha de Ingreso: enero-2012
Mensajes: 9
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Como crear una clave foranea que haga referencia a una tabla de otra base

Tenes 2 formas:

- Si estas en otra instancia deberías hacer uso de los LINKED SERVERS y con ese objeto creado te metes en el linked.catalogo.esquema.nombre_tabla o bien linked.esquema.nombre_tabla (dependiendo si configuraste que entre directo al catalogo o tengas qe entrar manualmente).

- Y si estas en la misma instancia podes hace catalogo.esquema.nombre_tabla.




Saludos!
  #5 (permalink)  
Antiguo 27/01/2012, 12:35
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Como crear una clave foranea que haga referencia a una tabla de otra base

jogase20

Con tu recomendacion, resuelves el planteamiento original???

crear una FOREING KEY de una tabla, en OTRA BASE DE DATOS.
__________________
MCTS Isaias Islas
  #6 (permalink)  
Antiguo 27/01/2012, 19:06
 
Fecha de Ingreso: enero-2012
Mensajes: 9
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Como crear una clave foranea que haga referencia a una tabla de otra base

Cita:
Iniciado por iislas Ver Mensaje
jogase20

Con tu recomendacion, resuelves el planteamiento original???

crear una FOREING KEY de una tabla, en OTRA BASE DE DATOS.
Con mi recomendacion tenes una forma de poder acceder a la otra base.

Etiquetas: clave, referencia, tabla, foreignkey
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 10:11.