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 :

Création de trigger


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 23
    Par défaut Création de trigger
    bonjour tout le monde,

    Je dois créer un trigger sur une table via VB .Net.
    Je vérifie mon code SQL dans Sql Server via la fenêtre "New query" avant de l'insérer dans mon code.

    Avant de créer le trigger je veux vérifier s'il existe et si non le créer. Voici le code et l'erreur qu'il génère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    IF EXISTS (SELECT *
                FROM    .dbo.sysobjects
                WHERE  xtype = 'TR'
                  AND  name = 'MAJDATE')
    CREATE TRIGGER dbo.MAJDATE 
       ON  dbo.Response_Arch
       AFTER INSERT,UPDATE
    AS 
    BEGIN
    	SET NOCOUNT ON;
    	UPDATE Response_Arch SET DTIN = GETDATE()
    END
    Msg 156, Level 15, State 1, Line 5
    Incorrect syntax near the keyword 'TRIGGER'.

    Si j'exécute la condtion seule il n'y a pas de problème et si j'enlève la condition , il n'y a pas de problème mon trigger se crée !


    Étant débutant avec SQL Server, toute aide serait la bienvenue

    Merci de vos réponses


    Jacques

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Par défaut
    bonjour,

    le create trigger doit être créé en tout premier dans un lot de commandes. Il faudrait utiliser :

    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
    IF EXISTS (SELECT *
    FROM .dbo.sysobjects
    WHERE xtype = 'TR'
    AND name = 'MAJDATE')
    DROP TRIGGER dbo.MAJDATE
    GO
     
    CREATE TRIGGER dbo.MAJDATE
    ON dbo.Response_Arch
    AFTER INSERT,UPDATE
    AS
    BEGIN
    SET NOCOUNT ON;
    UPDATE Response_Arch SET DTIN = GETDATE()
    END 
    GO
    Si le trigger existe on le supprime puis on le recrée.

Discussions similaires

  1. Création de triggers sous PHPMyAdmin
    Par MakorDal dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 25/02/2007, 18h50
  2. [MySQL] Création de trigger depuis PHP
    Par Shiva dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/01/2007, 13h16
  3. [Débutant] Création de trigger
    Par steph_batman dans le forum Développement
    Réponses: 4
    Dernier message: 06/12/2006, 16h44
  4. [PL/SQL] [9i] Pblm lors de la création de triggers
    Par ftrifiro dans le forum Oracle
    Réponses: 3
    Dernier message: 27/06/2006, 15h08
  5. [IB][IBQUERY][D7 pro] Création de Triggers à la volée.
    Par N1bus dans le forum Bases de données
    Réponses: 6
    Dernier message: 13/10/2004, 14h23

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