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 :

Non declanchement d'un trigger


Sujet :

MS SQL Server

  1. #1
    Membre habitué Avatar de SILO
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 130
    Points
    130
    Par défaut Non declanchement d'un trigger
    Bonjour,
    Dans quels cas un trigger n'est pas déclanché?

  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 : 42
    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
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Un trigger ne s'exécute que pour les événements pour lequel on a défini qu'il doit s'exécuter.
    Quel est plus exactement votre problème ?

    @++

  3. #3
    Membre habitué Avatar de SILO
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 130
    Points
    130
    Par défaut
    Un triger d'insertion qui se declanche pas à toutes insertions. Ma question est : dans quel cas d'insertion le trigger ne se declanche pas?

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 848
    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 848
    Points : 52 964
    Points
    52 964
    Billets dans le blog
    6
    Par défaut
    Le seul cas dans lequel un trigger posé ne se déclenche pas est lorsqu'il est désactivé. Il n'y a pas d'autre possibilité. Même dans la cas d'un ordre SQL portant sur 0 lignes, le trigger est déclenché !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    CREATE TABLE T_TEST (C INT)
    GO
     
    CREATE TRIGGER E_I_TEST
    ON T_TEST
    FOR INSERT
    AS
      PRINT 'coucou,c''est le trigger'
    GO
     
    INSERT INTO T_TEST 
    SELECT 1
    WHERE  1 = 0
    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/ * * * * *

  5. #5
    Membre habitué Avatar de SILO
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 130
    Points
    130
    Par défaut
    J'ai entendu dire qu'un DTS ou une Replication désactivent automatiquement les trigger, est ce vrai???

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 848
    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 848
    Points : 52 964
    Points
    52 964
    Billets dans le blog
    6
    Par défaut
    Cela dépend du paramètre FIRE_TRIGGERS de bcp. Notez bien que BCP fait du chargement de données, pas de l'insertion. La différence peut paraître subtile mais elle est importante...

    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/ * * * * *

  7. #7
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Vous avez raison, BCP fonctionne avec la communication native de SQL Serveur, j'ai eu du temps à capturer ces évenements parce que je croyais que BCP faisait des inserts !

    Plus 1 pour Frédéric Brouard.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

  8. #8
    Membre habitué Avatar de SILO
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 130
    Points
    130
    Par défaut
    Merci pour l'info concernant le BCP. Qu'en est il de la réplication???
    Est ce qu'elle desactive les trigger aussi ?

  9. #9
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 848
    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 848
    Points : 52 964
    Points
    52 964
    Billets dans le blog
    6
    Par défaut
    Non.

    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/ * * * * *

Discussions similaires

  1. [Trigger] message information non bloquant
    Par Silvia12 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/03/2008, 11h44
  2. Réponses: 11
    Dernier message: 17/01/2008, 18h53
  3. Un trigger qui se declanche pour une vue
    Par redabadache3 dans le forum PL/SQL
    Réponses: 3
    Dernier message: 31/10/2007, 09h10
  4. Fonction IMP - Déclenchement des Triggers ou non?
    Par JahPil78 dans le forum Import/Export
    Réponses: 2
    Dernier message: 13/07/2007, 22h08
  5. [PL/SQL - Trigger Oracle] Données non retournées
    Par Hug0_76 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/02/2007, 23h12

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