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 champ pas mis à jour


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 71
    Points : 57
    Points
    57
    Par défaut trigger champ pas mis à jour
    Bonjour,

    Le trigger suivant est il censsé fonctionner car l champ n'est jamais mis à jour et je ne vois pas pourquoi ?

    Merci

    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
    24
    25
    26
    27
     CREATE TRIGGER [dbo].[ACI_GESTION] ON [dbo].[F_DOCENTETE]
    FOR INSERT, UPDATE
    AS
    BEGIN
     
    DECLARE @Msg VARCHAR(254)
     
    DECLARE @DO_TYPE INTEGER
    DECLARE @DO_PIECE VARCHAR(8)
    DECLARE @CA_NUM VARCHAR(13)
    DECLARE @RE_NO INTEGER
    DECLARE @CbMarq INTEGER
     
    SET NOCOUNT ON
     
    IF NOT UPDATE(DO_STATUT) RETURN
     
    IF @DO_TYPE = 6
      BEGIN
         UPDATE F_DOCENTETE  
          SET    F_DOCENTETE.DO_REF = '7' 
           FROM   F_DOCENTETE T  
           INNER JOIN inserted i  ON T.DO_PIECE = i.DO_PIECE
      END
     
    END
    GO

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 566
    Points
    19 566
    Billets dans le blog
    25
    Par défaut
    Selon vous, quelle est la valeur initiale de @DO_TYPE ? Comment s'implémente-t-elle ?
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  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 847
    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 847
    Points : 52 961
    Points
    52 961
    Billets dans le blog
    6
    Par défaut
    Manque de formation évident....

    Répétons le encore une millième fois :
    UN TRIGGER SE DÉCLENCHE UNE SEULE FOIS QUELQUE SOIT LE NOMBRE DE LIGNES IMPACTÉES PAR L'ORDRE SQL QUI L'A DÉCLENCHÉ....

    Autrement dit si j'ai un update qui concerne 10 000 lignes, le trigger ne sera déclenché qu'une seule fois.

    Toute présence d'une variable dans un trigger constitue donc par essence une hérésie, sauf si ces variables sont dans une boucle de lecture d'un curseur, ce qu'il convient d'éviter.

    Par principe vous ne devrieez avoir dans votre trigger QUE DES REQUÊTES SQL !

    Lisez l'article que j'ai écrit à ce sujet :
    http://sqlpro.developpez.com/cours/s...ransactsql/#L5

    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. champs pas mis à jour mais en valeur "0"
    Par Alminar dans le forum Word
    Réponses: 2
    Dernier message: 18/10/2007, 20h49
  2. Do While et nombre de pages pas mis à jour
    Par Acivurt dans le forum VBA Word
    Réponses: 7
    Dernier message: 02/10/2007, 14h10
  3. [ADO.NET]Apparament mon delete n'est pas mis à jour.Quoi que?
    Par lrx94 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/12/2006, 15h33
  4. innerHTML, code HTML pas mis à jour
    Par highman dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/10/2006, 14h55

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