|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Cédric MüllerDéveloppeur application lié aux télécommunication Inscription : juin 2008 Messages : 100 ![]() |
Bonjours, toujours dans le cadre du développement de ma base, je doit applique l’intégrité référentielle en cascade mais je me retrouve bloqué et sollicite donc votre aide.
Je dispose d'une table nommé Produit. celle-ci dispose des champs suivant Idx, int non null ID, nchar(13) non null, PK Prix decimal(8,4) non null Quantité int non null Prix unitaire décimal(8,4) non null (calculé Prix / quantité) J'ai une autre table Preparation Idx, int non null ID, nchar(13) non null PK Produit nchar(13) non null, FK sur ID de la table produit Prix decimal(8,4) J'applique l'integrité référentielle en cascade sur update et delete sur la FK Cela marche bien, si l'id change dans la table produit, celui-ci et mis a jour automatiquement dans la table prepa Le prix de la table Prepa et lié a la table Produit J'aurai aimé mettre un champs calculé du genre = Produit.[Prix unitaire] mais apparemment je peu pas faire un champs calculé a partir d'un champs d'un autre table. Si cela est possible et que quelqu'un a la solution je suis preneur. ensuite j'aurai aimé appliqué l’intégrité sur le dit champs, c'est a dire mettre automatiquement a jour le champs prix de la table prepa si la valeur change dans la table produit. j'ai essayé de crée un FK mais cela ne marche pas car il n'y a pas de contrainte d'unicité (normal me dirait vous) y a t'il une solution ? j'ai commencé a regardé via les trigger mais comme je n'en ai jamais fait auparavant je suis un peu perdu. merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Cédric MüllerDéveloppeur application lié aux télécommunication Inscription : juin 2008 Messages : 100 ![]() |
Je pense avoir trouvé la solution après une apres-midi d'essai et de galère
je test un trigger sur la table product apres update en utilisant la fonction merge . . . je vais vois ce que cela donne a+ |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 1 690 ![]() |
Bonjour,
Je pense que vous êtes partis dans la mauvaise direction, et un trigger ne me semble pas le plus adapté. A mon avis, cette colonne prix n'a rien à faire dans votre table Préparation. Vous devriez plutôt créer une vue pour vos préparations, indiquant le prix. Cependant, avant ça, vous devriez revoir vos clef primaires : le NCHAR(13) n'est pas une bonne idée... à quoi correspondent les colonne idx ? |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com