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

MS SQL Server Discussion :

Triger Before Insert


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut Triger Before Insert
    Bonjour,

    je vous décris l'objectif de mont Trigger:
    après l'insertion dans une table T1, je dois récupérer ID et TYPE de l'objet inséré et chercher dans la table T2 les élément dont T1.TYPE = T2.TYPE ( théoriquement, le résultat est de plusieurs lignes qu'on va stocker dans une table temporaire). ensuite je dois insérer ces ligne dans une table T3.
    auriez-vous une idée comment faire ça ?
    n'hésitez pas si vous avez besoin plus d'info.

    Merci par avance

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Attention, il est possible d'insérer plusieurs lignes en même temps dans votre table T1...

    Utilisez la pseudo table INSERTED pour voir les lignes qui ont été insérées dans T1.
    A partir de cette table, vous pouvez insérer directement dans T3 sans passer par une table temporaire.

    Cependant, si vous devez faire cela, on peut supposer un problème de modélisation...

    Pouvez vous nous en dire plus sur le contenu de ces tables ?

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 995
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 995
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par ousssama76000 Voir le message
    Bonjour,

    je vous décris l'objectif de mont Trigger:
    après l'insertion dans une table T1, je dois récupérer ID et TYPE de l'objet inséré et chercher dans la table T2 les élément dont T1.TYPE = T2.TYPE ( théoriquement, le résultat est de plusieurs lignes qu'on va stocker dans une table temporaire). ensuite je dois insérer ces ligne dans une table T3.
    auriez-vous une idée comment faire ça ?
    n'hésitez pas si vous avez besoin plus d'info.

    Merci par avance
    Votre demande est absurde.... Soit vous avez déjà ces valeurs dans les INPUT de votre INSERT, et donc la question ne se pose pas. Sous vous n'avez pas par exemple l'ID parce qu'il est auto incrémenté, et dans dans un éventuel trigger BEFORE INSERT, vous n'aurez toujours pas cette valeur ! Seul le déclencheur AFTER INSERT vous donnera la valeur de l'auto incrément, qui, comme toute valeur par défaut est alimentée après exécution de la commande.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut
    je vous remercie "aieeeuuuuu" pour votre réponse,
    T1 : obj_id, obj_type
    T2 : type_id, attr_name
    en effet je dois obligatoirement passer par la tableT2 pour récupérer quelques donnée !
    voici un exemple d'une ligne que je dois insérer dans la table T3 :
    INSERT INTO T3 (id, name) VALUES( INSERTED.obj_id, T2.attr_name)
    PS : la table INSERTED ne contiendra jamais plus qu'une ligne par contre je vais récupérer plusieurs ligne de la table T2
    j’espère que c'est assez claire pour que vous puissiez me répondre.
    Je vous remercie par avance

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut
    SQLpro, je pense que ma réponse à "aieeeuuuuu " pourra vous clarifier ce que je voudrais faire

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 18
    Par défaut
    j'ai trouvé une solution
    je vous remercie quand même !

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

Discussions similaires

  1. Trigger Before Insert et Before Update
    Par NicoNours dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 14/08/2007, 10h20
  2. Trigger : Before insert
    Par guitou0 dans le forum Développement
    Réponses: 6
    Dernier message: 29/06/2007, 11h39
  3. [Visual Web] DataProvider before insert
    Par eponette dans le forum NetBeans
    Réponses: 4
    Dernier message: 19/03/2007, 17h00
  4. Trigger Before Insert
    Par Fred_ET dans le forum Administration
    Réponses: 7
    Dernier message: 22/11/2006, 00h29
  5. Créer un trigger "before insert" avec SQL Server
    Par bubi dans le forum Développement
    Réponses: 2
    Dernier message: 14/11/2005, 10h12

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