Problème de requêtes sql

Fermé
hh - 10 sept. 2015 à 20:11
luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 - 10 sept. 2015 à 21:12
Bonjour a toute la communauté commentcamarche j'espère avoir une suite a ma difficulté.
Je suis entrain de créer mes tables sous visual studio avec sqlserver comme sgbd
Je veux créer 4 table donc une clé est clé étrangère dans les autre table mais je n'y arrive pas. Merci pour votre aide
A voir également:

1 réponse

luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 815
Modifié par luckydu43 le 10/09/2015 à 20:32
Bonsoir !

Dans le script SQL, juste après les scripts de création de tables, ajoutez la requête suivante :

ALTER TABLE NomDeLaTableCible
ADD ADD CONSTRAINT fk_NomDeLaContrainte
FOREIGN KEY (NomDeLaCléEtrangèreDansLaTableCible)
REFERENCES NomDeLaTableSource(NomDeLaCleSource)

Bonne soirée !

Luc

P.S. : On peut le faire aussi directement dans la définition de la table cible... mais cette requête à l'avantage de séparer les clés étrangères des autres tables. Visuellement c'est plus lisible donc plus facile à débugger ;-)

Les 3 plus grands mensonges du dev : 1. La doc ? On la fera plus tard... 2. Le programme a été testé et ne comporte aucun bug... 3. Les spécifications techniques arrivent...
0
hpnr Messages postés 1 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 10 septembre 2015
10 sept. 2015 à 21:06
Merci pour la reponse mais je l'ai faite et ça ne marche toujours pas . Il y a une des table qui a pris la clé étrangère mais je reçois un message qui di que je ne pas utiliser la clé étrangère plusieurs fois
0
luckydu43 Messages postés 3484 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 30 juin 2022 815
10 sept. 2015 à 21:12
Alors changez le nom de la contrainte ;-)
Avez-vous effectué des tests pour vérifier si la clé étrangère n'est pas déjà présente (Remplissage des tables par des valeurs test puis select * pour pas perdre de temps) ?
0