IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

probleme de trigger


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 47
    Points
    47
    Par défaut probleme de trigger
    bonjour

    j'ai 2 tables client et achat
    1)client(codcl,nomcl,prncl,villecl)
    2)achat(codcl,codprod,dateachat,qtachat)==> codprod=code produit
    je veux faire une condition pour inserer dans la table achat 2 client de la ville 'paris' et les autres clients sont libre et pour ce la j'ai creé un trigger

    CREATE TRIGGER ver_place ON achat INSTEAD OF INSERT
    AS BEGIN
    DECLARE @ville nvarchar(50)
    SET @ville=(SELECT villecl FROM Client INNER JOIN inserted ON client.codecl = inserted.codecl)
    IF @ville = 'paris'
    BEGIN
    DECLARE @sumparis int
    SET @sumparis=(SELECT COUNT(*) FROM inserted WHERE codecl IN (SELECT codcl FROM Client WHERE villecl = 'paris')
    IF @sumparis <= 2
    BEGIN
    INSERT INTO achat SELECT * FROM inserted
    END
    ELSE
    BEGIN
    PRINT('complet')
    END
    END
    ELSE
    BEGIN
    INSERT INTO achat SELECT * FROM inserted
    END
    END

    il y a un probleme car la table client peut accepte plus de duex client de la ville paris

    je vous remerci

  2. #2
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 47
    Points
    47
    Par défaut
    bonjour

    pourriez vous maidé SVP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Points : 406
    Points
    406
    Par défaut
    Cela est totalement normal. Les triggers sont ensemblistes. Certes ta tables INSERTED peut contenir plusieurs lignes. Mais si tu n'a qu'un seul client de ville 'Paris' dans ton ensemble, il sera toujours créer. Je pense que ta requête de count est faite à l'envers.

    Essaye cela :
    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
    16
    17
    18
    19
    20
    21
    22
    23
     
    CREATE TRIGGER ver_place ON achat INSTEAD OF INSERT
    AS BEGIN
    DECLARE @ville nvarchar(50)
    SET @ville=(SELECT villecl FROM Client INNER JOIN inserted ON client.codecl = inserted.codecl)
    IF @ville = 'paris'
    BEGIN
    DECLARE @sumparis int
    SET @sumparis=(SELECT COUTN(codcl) FROM Client WHERE villecl = 'paris')
    IF @sumparis < 2
    BEGIN
    INSERT INTO achat SELECT * FROM inserted
    END
    ELSE
    BEGIN
    PRINT('complet')
    END
    END
    ELSE
    BEGIN
    INSERT INTO achat SELECT * FROM inserted
    END
    END
    Bon courage pour la suite.

  4. #4
    Membre du Club
    Inscrit en
    Août 2007
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 148
    Points : 47
    Points
    47
    Par défaut
    bonjour

    c'est la méme chose,je vous remerci

Discussions similaires

  1. probleme de trigger
    Par [ME]yeye dans le forum Oracle
    Réponses: 6
    Dernier message: 15/06/2006, 15h33
  2. Problème comportement trigger
    Par ameno_123 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/05/2006, 00h20
  3. Probleme de trigger
    Par Lomme dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 09/03/2006, 10h39
  4. Probleme de trigger
    Par luciemacherie dans le forum Oracle
    Réponses: 4
    Dernier message: 16/01/2006, 17h21
  5. [JDBC]Probleme avec trigger Oracle
    Par aurel89 dans le forum JDBC
    Réponses: 2
    Dernier message: 02/08/2005, 11h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo