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