Partage
  • Partager sur Facebook
  • Partager sur Twitter

création d'un déclencheur

    20 septembre 2021 à 7:11:25

    j'ai besoin d'aide sur un code sql pour faire un déclencheur .
    Créez un déclencheur sur la table « s_item » qui va s’assurer de modifier le contenu de la colonne amount_in_stock de la table « s_inventory » à chaque insertion d’un item (table s_item) et qui va s’assurer que la nouvelle valeur ne soit pas supérieure à la valeur de « max_in_stock ». Lorsque c’est le cas, la valeur de la colonne « quantity » de la table « s_item » est ajustée.
    voila mon code , j'arrive a bloqué la mis a jour sur la table s_inventory si la colonne amount_in_stock et superieur a max_in_stock , mais la colonne quantity sur la table s_item elle se mis a jour, alors que la condition et que le quantité ajouté + amount_in_stock ne devrais pas dépasser le max_in_stock
    merci, pour votre aide

    CREATE or ALTER TRIGGER T1 ON s_item
    FOR INSERT
    AS
    begin
    declare @id_ord decimal (7,0)
    declare @id_item decimal (7,0)
    declare @id_product decimal (7,0)
    declare @Qte decimal (9,0)
    DECLARE @DIFF decimal (9,0)
    DECLARE @max_in_stock    decimal (9,0)
     
    select @id_ord=ord_id,@id_item=item_id, @id_product=product_id, @Qte=quantity from inserted
    select @max_in_stock = max_in_stock from s_inventory inserted
    
    update  s_inventory  Set amount_in_stock = amount_in_stock +@Qte
    where product_id=@id_product and amount_in_stock < @max_in_stock
    
    UPDATE s_item SET quantity = @Qte where  ord_id = @id_ord   and @Qte < @max_in_stock
    
    end



    -
    Edité par Benzouye 20 septembre 2021 à 17:09:20

    • Partager sur Facebook
    • Partager sur Twitter
      20 septembre 2021 à 17:10:37

      Bonjour,

      Quel SGBD utilises-tu ?

      Si tu veux bloquer il faut lever une erreur (RAISE ou SIGNAL selon le cas) ...

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        20 septembre 2021 à 17:22:50

        moi je suis avec MS server manager. est-ce que vous pouvez éclaircir. Est-ce que je suis le bon chemin avec mon code .
        • Partager sur Facebook
        • Partager sur Twitter

        création d'un déclencheur

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown