Clé étrangère d'une autre base de donnée sql

Bonjour,

Je voulais savoir si on pouvait utiliser comme clé étrangère une colonne d'une autre base de données.
Si oui, comment?
J'utilise le Sql Server 2005,plus précisemment le MS SQL Server Management Studio.
Thanks

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,

    De façon générale, sous SQL Server, on peut accéder aux éléments d'une autre base de données comme ceci :
    <nom_base>.<schéma>.<table>.<colonne>.
    Par exemple, on peut faire un select sur la colonne "Prix" de la table "Produit", pour le schéma dbo (défaut) dans la base de données "Appli1" peut s'atteindre depuis une autre base de données sur le même serveur comme ceci :

    SELECT Prix FROM Appli1.dbo.Produit

    Si l'autre base de données n'est pas sur le même serveur, il faut alors déclarer des serveurs liés (je te laisse consulter msdn et la doc microsoft sur le sujet). Ensuite, cela fonctionne comme si la base de données distante était sur le même serveur.

    Pour le cas précis des clés étrangères, je n'ai jamais fait (honnêtement, les clés étrangères, on vit mieux sans ^^' ). Mais si c'est possible, c'est très certainement en les déclarant de cette façon-là.

    Xavier
    1. Merci pour ta réponse Xavier mais j'ai préféré mettre toutes mes tables dans une même base de données car je dois utiliser les clés étrangères pour mon programme.
      1. Ah ben oui, si c'est possible, c'est bien sûr la meilleure solution ^^