Bonjour à toutes et tous,
Je me pose une question de savoir si ce que je veux faire est possible, et si oui, comment.
J'ai 4 tables qui me permettent de gérer ce qu'on appelle des caractéristiques spécifiques articles.
Le principe: Chaque article est lié à une et une seule famille. Une famille possède 0 à n caractéristiques. Les caractéristiques sont définies dans une table (nom, type de données, unité, nb décimales). Pour chaque couple Famille/Caractéristique, on définit (les valeurs par défaut, les valeurs mini, maxi).
Ensuite, pour les articles, on a une table Article/Caractéristiques qui contient les valeurs des caractéristiques de l'article selon sa famille.
Jusque là pas de problème.
Les tables en question :
Table des articles T_Article_ART :
art_id Serial4
art_code numeric(20)
far_id int4 (lien avec T_FamArt_FAR)
...
Table des familles T_FamArt_FAR
fam_id Serial4
fam_nom varchar(30)
...
Table des Caratéristiques TR_CaracArt_CAA
caa_id Serial4
caa_nom varchar(30)
...
Table des liens Famille/Caractéristiques : TJ_FamartCar_LFC
lfc_id Serial8
far_id int4
caa_id int4
...
Table des liens Articles/Caractéristiques : TJ_ArticleCar_LAC
lac_id serial8
art_id int4
caa_id int4
...
Mon problème c'est que l'utilisateur doit pouvoir changer de famille article. Du coup, je risque de me retrouver avec des liens Article/Caractéristiques qui n'ont pas lieu d'être. J'aimerais donc pouvoir, avec une requête, supprimer dans la table TJ_ArticleCar_LAC les données d'un article dont les caractéristiques ne font pas parti d'une famille.
J'avais pensé faire une requete DELETE FROM TJ_ArticleCar_LAC Where art_id=(le code article en question) AND (la caractéristique n'appartienne pas à la nouvelle famille)
Et c'est la que le bât blesse. Je ne sais pas comment coder la condition en gras. Je pense que ça doit être possible, et même très simple quand on sait, mais, j'avoue ne pas avoir d'idée.
Merci d'avance pour votre aide
JS
Partager