Bonjour ,
Je suis en train de créer mon tout premier trigger sous MYSQL.
Bien que je n'ai pas d'erreur de syntaxe, j'aimerai avoir l'avis de personnes plus calés que moi.
Mon trigger est lancé après l'update dans la table product_to_techdata qui contient (id,id_techdata,prix,quantité) ==> il s'agit d'une table créée pour stocker les données d'un fournisseur
, et avec ce trigger, j'aimerai qu'il me compare le prix et le stock de la table product AVEC le prix et le stock de ma table product_to_techdata.Le but étant simple : Si le stock > 0 et que le prix est inférieur,
j'aimerai updater l'occurence dans ma table product(son prix, son fournisseur et son stock) .
Pour résumer , les infos contenues dans la table product_to_techdata sont ajoutés par un script php , et j'aimerai que le SGBD se charge d'écraser le prix s'il est moin cher ainsi que le stock s'il est >0 de la table product_to_techdata vers la table product
Voici mon trigger
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 CREATE TRIGGER update_techdata AFTER UPDATE ON product_to_techdata FOR EACH ROW BEGIN DECLARE v_stock integer; DECLARE v_price decimal(15,2); select price,quantity into @v_price,@v_stock from product where product_id = NEW.product_id; if(@v_price > NEW.price AND @v_stock > 0) THEN UPDATE product SET price = @v_price , quantity = @v_stock WHERE product_id = NEW.product_id; END IF; END
Malheureusement , je n'ai pas d'idée pour tester les données recues ( je travaille sur phpmyadmin) et pour résoudre le problème
Ceux qui ont une idée est la bienvenue
Merci beaucoup!
Benjamin122
Partager