Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2011
    Messages : 53
    Points : 9
    Points
    9

    Par défaut Insertion avec condition trigger

    Bonjour à tous,

    Je viens de me creuser la tête à faire un trigger, qui fonctionne certes, mais pas comme je le voudrais :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ALTER TRIGGER [dbo].[TRnumComInsert] ON [dbo].[TBcommande]
     
    FOR INSERT
     
    AS
    BEGIN
      declare @numCom AS int
     
    SET @numCom = isnull((SELECT max(numCom) FROM TBcommande) ,0) + 1
     
    UPDATE TBcommande SET numCom = @numCom 
    WHERE idCom = (SELECT idCom FROM inserted)
    END
    En gros, il incrémente le numéro de commande de 1 par rapport au maximum des num commande.
    Ok, par contre, j'ai dans ma base des données qui doivent être insérées dans des lignes suivantes, sauf que certaines auront le même numéro de commande (là, le numéro change à chaque ligne).

    En gros, j'aimerais utiliser cette requête :
    Code :
    1
    2
    3
    4
    SELECT * FROM TBcommande
    WHERE idCom IN (
    SELECT max(idCom) FROM TBcommande
    )
    Elle me permet de visualiser le dernier enregistrement, et dans le résultat de celle-ci, il y a deux colonnes qui possèdent ou non la valeur NULL.

    J'aimerais en fait pouvoir comparer avant l'insertion si mes deux colonnes sont <> NULL, alors on incrémente avec le trigger, si non, on garde le même numéro commande que le précédent.

    Est-ce possible déjà ?

    Merci

  2. #2
    Membre Expert

    Inscrit en
    juillet 2006
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : juillet 2006
    Messages : 1 401
    Points : 1 068
    Points
    1 068

    Par défaut

    Votre demande n'est pas claire.

    Quelles sont les lignes que vous voulez mettre en relation ? Qu'est-ce qui lie ces lignes entre elles ? etc.
    Most Valued Pas mvp

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •