GNT sans publicité, site mobile, fonctionnalitées exclusives...

Petite Question d'ID auto

Le
JO
bonjour,
voila j'ai des tables :

Vehicule(ID :int auto ; Libelle : varchar(20).)
Location(ID :int auto ; Libelle : varchar(20).)
Devis(ID :int auto ; ID_Article int.)

Le champ ID_Article est une cle etrangere sur vehicule et location
Si je supprime un devis il doit supprimer les vehicules ou Location qui
ont un ID = à ID_Article.

Mais comment faire pour qu'il ne supprime que ceux qui ont un lien avec
lui. je m'explique

Vehicule
1 Renault5
2 R21



Location
1 Location du X au Y
2 Location du Z au U


je cre un devis et ajoute l'article Vehicule avec l'ID 1 du coup je me
retrouve avec
Devis 1 1

Je supprime le devis, comment va t'il savoir qu'il faut soit supprimer
la location soit le vehicule car ils ont le meme ID Auto.

La solution serait de pouvoir dire a SQL de creer un ID auto suivant
plusieurs tables. Est ce possible ?

merci
Lire les 2 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fred BROUARD
Le #11828841
JO a écrit :
bonjour,
voila j'ai des tables :

Vehicule(ID :int auto ; Libelle : varchar(20)....)
Location(ID :int auto ; Libelle : varchar(20)....)
Devis(ID :int auto ; ID_Article int....)

Le champ ID_Article est une cle etrangere sur vehicule et location
Si je supprime un devis il doit supprimer les vehicules ou Location qui
ont un ID = à ID_Article.

Mais comment faire pour qu'il ne supprime que ceux qui ont un lien avec
lui. je m'explique

Vehicule
1 Renault5
2 R21
......


Location
1 Location du X au Y
2 Location du Z au U
......

je cre un devis et ajoute l'article Vehicule avec l'ID 1 du coup je me
retrouve avec
Devis 1 1

Je supprime le devis, comment va t'il savoir qu'il faut soit supprimer
la location soit le vehicule car ils ont le meme ID Auto.

La solution serait de pouvoir dire a SQL de creer un ID auto suivant
plusieurs tables. Est ce possible ?

merci




Utilisez une procédure stockée auquel vous passez une n° de devis et qui
fait 2 requêtes :
1) DELETE FROM MatableFille WHERE DEVIS_ID = 1
2) DELETE FROM Devis WHERE DEVIS_ID = 1

A +

--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Gilles LE BARBIER
Le #11828741
Si je comprend bien devis est utilisé pour deux tables avec le meme ID

il y a pas un problème de conception tu as bien une info qui t'indique que
c'est un devis voiture ou location

Gilles
Publicité
Suivre les réponses
Poster une réponse
Anonyme