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 :

Trigger: reference à l'élément supprimé


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 90
    Par défaut Trigger: reference à l'élément supprimé
    bonjour,

    En pleine création d'un trigger, je me retrouve confronter à un souci de référence à l'élément supprimé. J'utilise bien le mot clé "deleted" qui n'est pas reconnu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TRIGGER tr_PlageHoraire 
    ON PlageHoraire 
    for delete 
    AS
    	UPDATE Utilisateurs
    	set Utilisateurs.Num_PlageHoraire = null where Utilisateurs.Num_PlageHoraire = deleted.PlageHoraire.Num_Plage
    Mon souci se porte sur la partie rouge: que je mette "deleted", "deleted Num_Plage"... rien ne passe. Message d'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Msg 4104, Niveau 16, État 1, Procédure tr_PlageHoraire, Ligne 5
    L'identificateur en plusieurs parties 'deleted.PlageHoraire.Num_Plage' ne peut pas être lié.
    Pour resumer mon code: je souhaite, lors d'une suppression d'un n-upplets dans ma table "PlageHoraire", que la référence que j'ai faite dans ma table "Utilisateurs" à cet n-upplets soit passée à NULL afin de pouvoir supprimer ma ligne sans souci de référencement manquant.

    En esperant avoir été clair, je vous remercie d'avance pour vos réponses.

    Cordialement,

    Léo V.V.

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 90
    Par défaut
    Ca fait deux fois en deux jours, et j'en suis bien désolé. j'aurai du attendre mais je teste des solutions depuis hier apres midi et je n'avais pas trouvé.
    Voici donc une solution qui fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    IF OBJECT_ID ('tr_PlageHoraire', 'TR') IS NOT NULL
       DROP TRIGGER tr_PlageHoraire 
    GO
    CREATE TRIGGER tr_PlageHoraire 
    ON PlageHoraire 
    for delete 
    AS
    	UPDATE Utilisateurs
    	set Utilisateurs.Num_PlageHoraire = null where Utilisateurs.Num_PlageHoraire IN(select deleted.Num_Plage from deleted)
    Bonne journée à tous.

    Cordialement,

    Léo V.V.

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

Discussions similaires

  1. Focus sur dossier "éléments supprimés"
    Par Ptikir dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 23/11/2009, 12h20
  2. outlook et éléments supprimés
    Par ghostvb dans le forum VBScript
    Réponses: 0
    Dernier message: 15/07/2008, 17h06
  3. [RegEx] probleme de reference arrière pour supprimer les balises html
    Par Galeenet dans le forum Langage
    Réponses: 1
    Dernier message: 16/10/2007, 23h02
  4. Réponses: 1
    Dernier message: 06/09/2007, 09h36
  5. [SQL] Comment spécifier l'élément à supprimer
    Par temperature dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 02/05/2006, 12h02

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