J'essaie de trouver un moyen de pouvoir mettre à jour le code unitaire de tout nouveau produit unitaire, tout en conservant le code unitaire d'origine pour les produits unitaires déjà créés.
Autrement dit, si le code de l'unité change entre les sujets proposés, je souhaite que le code de l'unité reflète le code exact au moment où le cours unitaire a été créé.
Voici mon formulaire
CREATE TABLE Units ( UnitsID INT(10) AUTO_INCREMENT, UnitsName VARCHAR(255) NOT NULL, UnitsCode VARCHAR(20) NOT NULL UNIQUE, PRIMARY KEY (UnitsID) ); CREATE TABLE UnitsOffering ( UOfferingID INT(10) AUTO_INCREMENT, UOUnits INT(10) NOT NULL, YIIntake VARCHAR(255) NOT NULL, YIYear INT(4) NOT NULL, PRIMARY KEY (UOfferingID), FOREIGN KEY (UOUnits) REFERENCES Units(UnitsID) );
Je peux le mettre à jour en utilisant la procédure stockée actuelle, mais lorsque je répertorie les produits unitaires et les détails de l'unité, cela reflète le nouveau code de l'unité, et non le code qui se trouvait dans la base de données lors de la création du produit.
CREATE PROCEDURE UpdateUnit(IN vUnitsID VARCHAR (255), IN vUnitsCode VARCHAR (20)) BEGIN UPDATE Units SET UnitsCode = vUnitsCode WHERE UnitsID = vUnitsID; END;
C'est l'instruction select que j'utilise lors de la création de la liste.
SELECT O.UOfferingID, U.UnitsCode, U.UnitsName, O.YIIntake, O.YIYear FROM (UnitsOffering O INNER JOIN Units U ON O.UOUnits = U.UnitsID) ORDER BY O.UOfferingID;
Je ne sais pas si cela peut réellement être fait. Si cela a du sens, je ne sais pas s'il y a quelque chose qui ne va pas dans la façon dont ma table est configurée, dans l'instruction update ou dans l'instruction list.
Toute aide serait grandement appréciée. J'ai essayé de consulter de la documentation pour voir comment procéder, mais je n'ai pas trouvé le bon mot-clé.
Voici des exemples de ce que j’aimerais pouvoir énumérer. Pour cet exemple, ce que je veux qu'il affiche si le code de l'unité change après la fin de 2021.
COS10000 - Introduction to Programming - Semester 2 2021 INF30011 - Database Implementation - Semester 1 2022 COS10059 - Introduction to Programming - Semester 2 2022
Il existe deux méthodes possibles :