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 :

". could not be bound". Pb sur un trigger


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    423
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 423
    Par défaut ". could not be bound". Pb sur un trigger
    Bonjour,

    Sur le trigger after update, je veux mettre à jour des données. J'ai une table client. Sur chaque modif d'un client, je veux mettre à jour le partenaire correspondant ( c'est à dire celui qui a le bon numéro client )

    Voici mon code qui me renvoie l'erreur suivante
    The multi-part identifier "inserted.numclient" could not be bound.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ALTER TRIGGER [dbo].[MAJ_CAB] 
       ON  [dbo].[CLIENTS]
       AFTER UPDATE
    AS 
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
     
        -- Insert statements for trigger here
    update dbo.cab set société=inserted.clientnom where numclient=inserted.numclient;
     
    END
    Merci de votre aide svp.

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Par défaut
    Bonjour,

    Il vous faut prendre l'habitude de mettre vos jointures dans la clause FROM plutôt que dans la clause WHERE.
    Outre le fait que vous y gagnerez en lisibilité (vous séparer les opérateurs de jointure des prédicats de filtrage), il y a certains cas ou ce sera plus performant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ALTER TRIGGER [dbo].[MAJ_CAB] 
       ON  [dbo].[CLIENTS]
    AFTER UPDATE
    AS 
    BEGIN
    	SET NOCOUNT ON
     
    	UPDATE dbo.cab
    	SET société = I.clientnom
    	FROM dbo.cab AS C
    	JOIN INSERTED AS I ON C.numClient= I.numClient
    END
    @++

  3. #3
    Membre éclairé
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    423
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2004
    Messages : 423
    Par défaut
    Merci beaucoup pour votre réponse, ca fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. The multi-part identifier "congé.cin" could not be bound.
    Par Gabox dans le forum Développement
    Réponses: 1
    Dernier message: 18/05/2012, 03h06
  2. Réponses: 3
    Dernier message: 01/12/2009, 11h35
  3. Réponses: 3
    Dernier message: 01/08/2007, 09h26

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