¿Relacionar 2tablas de BDs con Integridad?
Aquí te planteo otra duda que tengo sobre sql. Te agradecería que me respondieras cuando puedas. Me surgió el otro día y me dificulta el trabajo.
He leído que se pueden relacionar 2 tablas de distintas bases de datos de la siguiente manera :
select uno.campo1, dos.campo1
from basededatos1.tabla1 uno, basededatos2.tabla1 dos
where uno.campo1 = dos.campo1
Lo he probado y funciona muy bien. Me ha sido de gran ayuda, pero ...
Creo que no mantiene la integridad referencial.
¿Cómo hago para que exista integridad referencial entre 2 tablas de diferentes bases de datos?
He probado con el siguiente código :
Create table tt1
(Contador int,
texto nvarchar (30),
serie nvarchar (5)
FOREIGN KEY REFERENCES gestión.dbo.TT (serie))
GO
Intentando crear la tabla TT1 en la base
de datos Pruebas_Gest. El campo de esta nueva tabla quiero que sea clave foránea de la tabla TT de la base de datos Gestión.
El analizador de consultas me devuelve el siguiente mensaje :
Servidor: mensaje 1763, nivel 16, estado 1, línea 1
No se admiten referencias cruzadas de claves externas entre bases de datos. Clave externa 'gestión.dbo.TT'.
A ver si me puedes ayudar.
He leído que se pueden relacionar 2 tablas de distintas bases de datos de la siguiente manera :
select uno.campo1, dos.campo1
from basededatos1.tabla1 uno, basededatos2.tabla1 dos
where uno.campo1 = dos.campo1
Lo he probado y funciona muy bien. Me ha sido de gran ayuda, pero ...
Creo que no mantiene la integridad referencial.
¿Cómo hago para que exista integridad referencial entre 2 tablas de diferentes bases de datos?
He probado con el siguiente código :
Create table tt1
(Contador int,
texto nvarchar (30),
serie nvarchar (5)
FOREIGN KEY REFERENCES gestión.dbo.TT (serie))
GO
Intentando crear la tabla TT1 en la base
de datos Pruebas_Gest. El campo de esta nueva tabla quiero que sea clave foránea de la tabla TT de la base de datos Gestión.
El analizador de consultas me devuelve el siguiente mensaje :
Servidor: mensaje 1763, nivel 16, estado 1, línea 1
No se admiten referencias cruzadas de claves externas entre bases de datos. Clave externa 'gestión.dbo.TT'.
A ver si me puedes ayudar.
3 respuestas
Respuesta de miguelegea
1
Respuesta de Dordle Luka
Respuesta de arlet amiri